Сделал миграции, приступил к созданию связей и вот что стало интересно. Читаю документацию https://laravel.ru/docs/v5/eloquent-relationships#oo Взять, к примеру, связь один к одному. Там создается связь из модели user к модели phone через hasOne и обратная связь из phone к user через belongsTo. А почему нельзя сделать тот же hasOne из phone к user? И наконец вопрос с моими данными. Делаю такую базу, мне как лучше на будущее сделать связи: user-person через hasOne, а person-user через belongsTo или опять-таки person-user hasOne? Как предусмотреть это? Или можно указать и hasOne и belongsTo одновременно в одной модели?
Ну и вдогонку, раз уж создал тему. В той же статье в документации модель User наследуется от Model, а у меня, т.к. она из-под коробки доступна, наследуется от Authenticatable. С этими связями как оставить-то? Чтобы и связи нормально реализовались и чтобы механизм регистрации/входа не сбить
hasOne из user на phone означает, что в таблице phone есть поле user_id, а belongsTo из phone на юзера означает, что в таблице phone есть поле userId, в этом разница. Именно так А посмотреть, что такое этот Authenticatable через Ctrl+click слабо в IDE?
Спасибо, а дальше? Правильно ли я мыслю? ticket-result_ticket через hasOne, а result_ticket-ticket через hasOne; ticket-comment через hasMany, а comment-ticket через belongsTo? а с comment-person как быть? Там получается что один человек может написать несколько комментариев
Есть разные типы связей. Помимо hasOne. Все описаны по вашей ссылке, хоть и устаревший, но у вас, помнится, с английским проблемы... --- Добавлено --- А вообще, это всё с неба не свалилось. В теории реляционных баз данных есть все эти связи между таблицами: один-к-одному, один-ко-многим, многие-ко-многим...
Это понятно, из курса универа даже помню. Но применительно к фреймворку и последующей обработки данных решил спросить. Верно?
А одновременно может быть несколько отношений? Две таблицы связать как hasOne и belongsTo друг с другом