Построение запросов в 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 шт):

Автор решения: Владимир пичкуров
  1. у вас в таблице tascs должно быть поле user_id.
  2. в модели User напишите метод, который определит отношение один ко многим:

    public function tasks(){ return $this->hasMany(Task::class); }

  3. Получить все таски юзера теперь можно: $user_tasks = $user->tasks;
  4. Либо без определения отношений (не райт вей))) $tasks = Task::where('user_id', $user['id']) ->get(); как-то так.. Подробнее Здесь
→ Ссылка