В предыдущем вопросе (Getting the name of the foreign key with eloquent) Я задал вопрос об одном из многих взаимоотношений с красноречивым в Laravel 4, но когда я попадаю в более сложную схему, я начинаю все больше и больше смущенно о том, как правильно это сделать. Думаю, я просто могу имитировать обычный SQL-запрос, но я хочу сделать это правильно, используя модели и все инструменты, которые у меня есть с laravel и красноречивым.Как связать один стол с другими, используя Eloquent ORM
Так вот мои столы (некоторые из них)
Units
+------------+------------------+
| Field | Type |
+------------+------------------+
| id | int(10) unsigned |
| name | varchar(255) |
| type | int(11) |
| created_at | timestamp |
| updated_at | timestamp |
| value | int(11) |
| army | int(11) |
+------------+------------------+
Armies
+------------+------------------+
| Field | Type |
+------------+------------------+
| id | int(10) unsigned |
| name | varchar(255) |
| created_at | timestamp |
| updated_at | timestamp |
| color | varchar(255) |
+------------+------------------+
Unittypes
+------------+------------------+
| Field | Type |
+------------+------------------+
| id | int(10) unsigned |
| name | varchar(255) |
| created_at | timestamp |
| updated_at | timestamp |
+------------+------------------+
Как вы можете видеть блоки имеют 1-п отношения с армиями и unittypes. То, что я хочу достичь, когда я перечисляю свои единицы на представлении, что вместо идентификатора армии и единиц измерения я показываю фактическое имя (и, возможно, некоторую другую информацию, которая будет добавлена в будущем к этим таблицам, я делая основы в данный момент).
Вы можете видеть ссылку, опубликованную до того, как я установил свои модели с помощью методов «hasMany» или «belongsTo», так как я делаю запрос, чтобы показать данные, что я не знаю, как это сделать ,
Единичные типы могут иметь плохо выбранное имя, но это таблица, которая должна быть, она будет иметь контент в будущем, не связанный с таблицей единиц. Мои модели уже были похожи на то, что вы описали в обоих ответах, на самом деле это логика в контроллере, что мне трудно понять, так как unittype и армия полностью не связаны друг с другом, и они имеют только общее, что у Unit есть экземпляр каждого из них. –
Также в контроллере может отсутствовать то, что я получаю «Неопределенная переменная: единицы» на мой взгляд –