Как мне создать разные многие для многих отношений для тех же двух таблиц, использующих краснорегующуюся в Laravel

StackOverflow https://stackoverflow.com//questions/21022111

Вопрос

У меня есть 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');
    }
}
.

Второй столбец указывает на какую таблицу проверить многие со многими отношениями

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top