@alokazay
javascript

Как создать запрос в Laravel?

Доброго дня есть 2 таблицы п
1. - tasks
- id
- name
2. comments
- id
- task_id
- comments

Мне нужно добавить к первой таблице кол-во комментариев, сейчас делаю так, а как подсчитать незнаю, подскажите пож.
DB::table('tasks')
            ->leftJoin('comments','comments.task_id', '=', 'tasks.id')
            ->select('tasks.*','comments.id as comments_id' )
            ->groupBy('tasks.id')
            ->get();
  • Вопрос задан
  • 356 просмотров
Пригласить эксперта
Ответы на вопрос 2
DieZz
@DieZz
Принципиально делать конструктором запросов?
При использовании Eloquent я бы сделал так
В Моделе Task прописываем связь с моделью Comments
public function comments()
{
    return $this->hasMany('App\Comments');
}

В месте где нужно посчитать кол-во комментариев
Task::find($id)->comments()->count();

Если нужно получить кол-во комментариев для всех задач, можно сделать так:
$count = 0;
foreach(Task::All() as $task)
{
  $count += $task->comments()->count();
}
Ответ написан
shaks
@shaks
я никогда не работал с Laravel, но просто взглянув на ваш код скажу что вам нужно использовать связи моделей.
laravel.com/docs/5.0/eloquent#relationships
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы