Ограничение 1 на hasMany-отношения - PullRequest
1 голос
/ 07 мая 2019

У меня есть две модели, которые связаны друг с другом.Одна модель содержит пользователей, а другая содержит все курсы и соответствующую временную метку начала занятий.Теперь «связанный ключ» между ними - «user_id», который находится в обеих таблицах.Мне удается получить данные при наличии:

return $this->hasMany(ClassInfo::class,'user_id','user_id');

Это прекрасно работает.Однако, так как я использую модель в предложении with, мне нужен только один из классов, который запускается в данное время, если время запуска падает с другим курсом для пользователя.Я попробовал с обоими:

return $this->hasMany(ClassInfo::class,'user_id','user_id')->take(1);
return $this->hasMany(ClassInfo::class,'user_id','user_id')->limit(1);

Но оба просто дают мне пустые коллекции, я не понимаю, почему это происходит?Можно ли как-нибудь заставить его вернуть, например, тот, который имеет наибольшее значение идентификатора из таблицы классов (идентификатор автоматически увеличивается для каждого курса, зарегистрированного у пользователя).

Спасибо за любые советы и рекомендации!

...