Приветствую! Помогите разобраться с отношением один к одному. Опишу более подробно задачу. По API получаю большой json файл которые после парсинга сохраняю все данные в базе, например таблица test. Когда юзер проходит регистрацию я сверяю данные что данный юзер есть в таблице test и делаю запись в таблицу users. При этом в обоих таблицах есть столбик id_u это индификатор юзера который пришел по API. Сейчас мне надо достать дополнительные данные из таблицы test. Для этого я использую отношение один к одному. В моделе User создал метод: Код (Text): public function test() { return $this->hasOne(UTable::class, 'id_u', 'id_u'); } в контролере: Код (Text): $user = User::find($my); dump($user); выводит null. Методом тыка разобрался почему выводит null. В $my присвоил цифру 1 и вывелись данные из таблицы users но я ожидал найти данные в другой таблице. (В таблице users записей намного меньше чем в test) попробовал сделать обратное отношение: Код (Text): public function user() { return $this->belongsTo(User::class, 'id_u','id_u'); } Насколько я понимаю сейчас должны были вывести данные из таблицы users. Но я получил данные из таблицы test. Более того, в качестве параметра который передал $my он искал в столбце id , хотя я вроде указал столбец id_u Объясните что я не так делаю?
Поставьте Laravel Debugbar, гляньте запросы, которые получаются в итог. Плюс прочитайте про жадность запросов. Лара по дефолту делает не жадные запросы, т.е. связанные модели запрашиваются только при обращении к ним ($user->test). Чтоб была жадность, надо сделать $with. Перечитайте доку по Eloquent, там всё подробно написано. Или нужен переводчик для этого?