Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Пытаюсь реализовать связь, для посчета топиков форума.
Имеется таблица ForumThread и Comments, в модели ForumThread
public function countForumThreads()
{
return $this->belongsTo('DraperStudio\Commentable\Models\Comment', 'thread_id');
}
ForumThreadController
foreach (ForumThread::all() as $thread) {
$counttopics = $thread->countForumThreads();
}
dd($counttopics);
dd- выдает
#query: QueryBuilder
+wheres: array:1 [▼
0 => array:5 [▼
"type" => "Basic"
"column" => "comments.id"
"operator" => "="
"value" => 10
"boolean" => "and"
]
]
Почему он берет только 1 запись, что я не так делаю, как взять все
Насколько я понимаю вам требуется использовать $this->hasMany
Не в сети
dd- выдает
#query: QueryBuilder
И верно выдает, осталось получить результат
через ->get()
Или юзать динамическую проперти
$counttopics = $thread->countForumThreads
Советую почитать
https://laravel-news.ru/blog/tutorials/ … -relations
Не в сети
Насколько я понимаю вам требуется использовать $this->hasMany
И кстати тоже да, как это тред принадлежит комменту?
Это со стороны коммента будет belongsTo
Не в сети
Вот что мне помогло return $this->morphMany('App\ForumThread','thread');.
Пришлось добавить в таблицу thread_type
Страницы 1