Как мне создать разные многие для многих отношений для тех же двух таблиц, использующих краснорегующуюся в Laravel
-
21-12-2019 - |
Вопрос
У меня есть 2 таблицы «пользователя» и «контент». Пользователь может любимый контент, поэтому я использую Pivot Table User_content для установления многих для многих отношений между пользователем и контентом, который они попланировали. Это нормально.
Пользователь также может приобрести контент.Это было бы те же отношения, что и выше (user_content), но были бы совершенно разными данными.
Как я могу настроить такие отношения, когда отношения между таблицами одинаковы, но содержание отличается - может ли это сделать успешно в Laravel, используя красноречивый? Или есть совершенно другой способ, которым я должен приближаться к этому?
Решение
Просто настройте таблицу user_purchase и user_favorite, как содержащие поля user_id и content_id
Затем настройте модель
как
class User extends Eloquent{
public function purchases()
{
return $this->belongsToMany('Content','user_purchase');
}
public function favorites()
{
return $this->belongsToMany('Content','user_favorite');
}
}
class Content extends Eloquent{
public function buyers()
{
return $this->belongsToMany('User','user_purchase');
}
public function favorites()
{
return $this->belongsToMany('User','user_favorite');
}
}
.
Второй столбец указывает на какую таблицу проверить многие со многими отношениями