Я пытаюсь определить некоторую схему базы данных для использования рамки laravel. Я хочу смоделировать футбольный матч. Первый шаг, который я хотел сделать, - это определить диаграмму Entity Relationship, но я нашел это (что, по моему мнению, было бы довольно тривиальным) в некоторых аспектах сбивать с толку.База данных «Один-ко-многим» с двумя полями внешнего ключа в Laravel
Во-первых, очевидный подход состоит в том, чтобы сказать, что Матч связан с двумя командами, а команда связана с любым количеством совпадений. Итак, у нас было бы отношение «от многих до многих».
Но реализация отношения многих-многих состоит в том, чтобы иметь две таблицы и промежуточную таблицу для связывания обоих объектов. Я думаю, что это будет слишком много, когда я знаю, что в матче всегда будет две Команды, и просто иметь два столбца (local_id и visitant_id) с внешними ключами в таблице команд будет достаточно. Кроме того, я хочу быть в состоянии сделать:
Match::find(1)->local() or Match::find(1)->visitant();
Так, думая об этом я реализую «один ко многим» отношения, но с этим у меня есть еще один вопрос. Для того, чтобы получить все матчи Команда Сыграла я хотел бы сделать:
Team::find(1)->matches();
Но я не могу этого сделать, потому что я могу только указать один ключевой столбец при определении матчей() метода в красноречива (по умолчанию это будет team_id, но это должно быть visitant_id и local_id).
для меня это возвращает только «visitant_id» связанные модели ... – ciccioassenza
Это все еще работает в Laravel 5.2 – arleslie
В Laravel 5.3 $ это пустой объект модели. Любые идеи, как достичь этого в Laravel 5.3? –