Я пытаюсь выяснить отношения в laravel и подошел к концу моей веревки, поэтому я подумал, что опубликую свой самый первый вопрос здесь в надежде выяснить это. Обычно я могу найти ответ здесь, но не в этот раз.
У меня есть таблица пользователей, например, так:
- id
- first_name
- last_name (et c.)
- address_1 (et c.)
- state_id
- город (et c.)
Тогда у меня есть таблица состояний
- id
- state_abrv
- имя_состояния
Теперь из того, что я Сборщик Eloquent хочет, чтобы users_id хранился в таблице состояний, а не States_id хранился в таблице пользователей, но это не имеет смысла, потому что вам придется повторять состояния снова и снова.
В моей модели User, которую я пробовал
public function state()
{
return $this->belongsTo(State::class);
}
и
public function state()
{
return $this->hasOne(State::class);
}
но я думаю, что он ищет внешний ключ в таблице состояний, а не в таблице пользователей. Что мне здесь не хватает?
Я хочу получить список всех пользователей, например, в представлении show user details с их состоянием без второго запроса, чтобы получить все состояния в массив и получить их состояние из этого массива.
Мне нравится
$users = User::with('state')->get();