如何为laravel中的嵌套评论添加分页?

how to add pagination to the nested comments in laravel?

class Nested extends Model{
  public function nestedfunc()
{
    return $this->hasMany(Nested::class, 'parent_id');
}
 public function childnestedfunc()
{
    return $this->hasMany(Nested::class, 'parent_id')->with('nestedfunc');
}
}

//这是我的递归模型函数。 如何将分页添加到嵌套评论的根部。我将所有评论存储到同一个 table

  1. root 评论 1 - root 1 的嵌套评论....
  2. 根注释 2 - 根注释 2 的嵌套注释 ....
  3. 分页根评论
  4. 根注释 3 - 根注释 3 ....
  5. root comments 4 -root 4 的嵌套comcomes.....
  6. 对根评论进行分页
  7. 等等

这里不需要两个单独的函数,关系可以递归调用它们自己,所以首先将你的关系更改为此

public function children()
{
    return $this->hasMany(Nested::class, 'parent_id')->with('children');
}

然后对于您的查询,您可以

Nested::where('parent_id', null)->with('children')->paginate();

当我构建嵌套评论模型时,我还添加了一个范围以使其更具可读性

public function scopeTopLevel($query)
{
   return $query->where('parent_id', null);
}

所以现在我的控制器中的调用只是

Comment::topLevel()->with('children')->paginate()