Общий model_id для двух моделей - Laravel 5 - Eloquent - PullRequest
0 голосов
/ 07 января 2019

У меня есть вопрос, на который я ищу ответ некоторое время. Что ж, в моем проекте Laravel у меня есть модель Disease, которая имеет отношение ownstoMany с моделями Recipe и User. Я ищу, чтобы извлечь из базы данных все рецепт строк, которые имеют болезнь_ид , что и текущий зарегистрированный пользователь . Есть ли способ сделать это с Eloquent? Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Убедитесь, что для вашей User модели определено отношение diseases:

public function diseases()
{
    return $this->hasMany(Disease::class);
}

Вы можете получить текущего пользователя и disease_id следующим образом (отредактировано для использования отношения болезней в модели Users):

$user = Auth::user();
$disease_ids = $user->diseases()->pluck('id');

Тогда вы можете найти рецепты с таким же disease_id, как это:

return Recipe::whereIn('disease_id', $disease_ids)->get();
0 голосов
/ 07 января 2019

Хотелось бы что-то вроде этой работы:

$user = Auth::user();
return Recipe::where('disease_id', $user->id)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...