Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Надо вывести количество коментов, для открытой статьи.
Посмотрел я на код ORM и мне это не нравится и решил сделать с помощью построителя, допустимый ли такой вариант?
$post = Post::where('slug', $slug)->firstOrFail();
$commentsCount = DB::table('comments')->where('post_id',$post->id)->count();
Можете показать хорошие практики? В гугле статьи есть, но они старые и неизвестно, актуальный ли этот способ или нет.
Не в сети
Да, вполне допустим. Только лучше через ORM и scope
$commentsCount = Comments::forPost($post)->count();
Не в сети
Это нерабочий код
Не в сети
Вы можете сделать вывод через relation.
В модели Post создайте relation для комментариев
public function comments()
{
return $this->hasMany('App\Comment');
}
Ну а далее выводите кол-во комментариев.
$post->comments->count();
Либо как описал covobo сделайте через scope.
Не в сети
Что значит через scope?
Не в сети
Не в сети
Страницы 1