我的当前代码:
public function countThreads() {
$count = $this->threads->count();
if ($this->hasSubforum()) {
foreach ($this->subforums as $subforum) {
$count += $this->countThreads($subforum);
}
}
return $count;
}
我当前正在以$this
的身份访问模型中的"线程"。我需要将$subforum
传递给它自己,但我如何在类中做到这一点?
在我的控制器中,我只是在做:
$forum = Forum::where('id', $id)->first();
$forum->countThreads();
我如何用它进行递归?谢谢
您不需要传递任何参数*,可以在子论坛$subforum->countThreads()
上调用countThreads
方法
public function countThreads()
{
$count = $this->threads->count();
if ($this->hasSubforum()) {
foreach ($this->subforums as $subforum) {
$count += $subforum->countThreads();
}
}
return $count;
}
如果真的想将其作为参数传入,正确的方法是将其作为模型之外的服务写入