Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 04.06.2018 12:31:01

Количество комментарий

Надо вывести количество коментов, для открытой статьи.

Посмотрел я на код ORM и мне это не нравится и решил сделать с помощью построителя, допустимый ли такой вариант?

$post = Post::where('slug', $slug)->firstOrFail();
     
$commentsCount = DB::table('comments')->where('post_id',$post->id)->count();

Можете показать хорошие практики? В гугле статьи есть, но они старые и неизвестно, актуальный ли этот способ или нет.

Не в сети

#2 04.06.2018 16:31:31

Re: Количество комментарий

Да, вполне допустим. Только лучше через ORM и scope

$commentsCount = Comments::forPost($post)->count();

Не в сети

#3 04.06.2018 17:43:19

Re: Количество комментарий

Это нерабочий код

Не в сети

#4 05.06.2018 04:53:06

AlexForever
Откуда: Кишинев
Сообщений: 28

Re: Количество комментарий

Вы можете сделать вывод через relation.
В модели Post создайте relation для комментариев

public function comments()
{
    return $this->hasMany('App\Comment');
}

Ну а далее выводите кол-во комментариев.

 
$post->comments->count();

Либо как описал covobo сделайте через scope.

Не в сети

#5 05.06.2018 07:01:09

Re: Количество комментарий

Что значит через scope?

Не в сети

#6 05.06.2018 09:49:22

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Количество комментарий

OK google: laravel scope

Не в сети

Подвал раздела