2016-05-02 5 views
2

Я некоторое время застрял в этом красноречивом отношении. (Я использую laravel 5.2)Laravel застрял с красноречивым вопросом

Пользователь может иметь несколько сертификатов, которые индивидуально имеют самолет. Однако возможно иметь «пустой» сертификат, который не имеет самолета.

Мои цели - вызывать $ user-> сертификаты и возвращать все сертификаты пользователя с соответствующими типами самолетов.

У меня следующие модели.

User 
    id 
    ... 


    Aircrafttype 
    id 
    name 


    Certificate 
    id 
    name 


    CertificateUser 
    id 
    certificate_id 
    aircrafttype_id 
    user_id 

Заранее благодарен!

ответ

1

Вам просто нужно добавить отношения между вашей моделью User и вашей моделью CertificateUser.

По звукам, пользователь может иметь много сертификатов - поэтому вы хотели бы использовать связь hasMany. Поскольку у вас есть столбец с именем user_id в CertificatUser таблице, вы можете просто установить связь, как это (внутри вашей User модели:

public function certificates() 
    { 
     return $this->hasMany('App\CertificateUser'); 
    } 

Теперь вы можете получить доступ к этим через $user объект с $user->certificates;

+0

Я используя отношение belongsToMany, спасибо! –

+0

Не беспокойтесь. Вы также можете добавить обратное отношение, относящееся к CertificateUser, если хотите. – James

Смежные вопросы