Построение запросов в Laravel 7.3
Не могу разобраться в построении запроса в Laravel 7.3 Eloquent ORM. Собственно выполняю обучающее задание, нужно из двух таблиц Users и Tasks. Вывести все задачи пользователя.
use App\User;
use App\Task;
protected $tasks;
public function forUser(User $user)
{
return Task::addSelect([
'name' => User::select('name')
->orderBy('created_at', 'asc')
])->get();
}
Я правильно понимаю? Я обращаюсь к модели Task, которая связана с БД и моделью Users(отношение один ко многим) и вытаскиваю задачи пользователя. Причем если только пользователь авторезирован. Не совсем понимаю логику простроения запросов.
Ответы (1 шт):
Автор решения: Владимир пичкуров
→ Ссылка
- у вас в таблице tascs должно быть поле user_id.
в модели User напишите метод, который определит отношение один ко многим:
public function tasks(){ return $this->hasMany(Task::class); }
- Получить все таски юзера теперь можно: $user_tasks = $user->tasks;
- Либо без определения отношений (не райт вей))) $tasks = Task::where('user_id', $user['id']) ->get(); как-то так.. Подробнее Здесь