Задать вопрос
@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();
  • Вопрос задан
  • 357 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы