gpt4 book ai didi

php - 在 Laravel 中使用 Blade 嵌套评论

转载 作者:行者123 更新时间:2023-12-02 15:29:10 25 4
gpt4 key购买 nike

我正在尝试在 Laravel 中使用 Blade 生成嵌套评论。好像我必须制作一个 Blade 模板,该模板具有为每个评论及其子评论预先配置的无限嵌套评论。但我希望评论自动生成。

这是我的评论模型:

class Comment extends Model {

protected $table = 'comments';

public function user()
{
return $this->hasOne('App\Models\User', 'id', 'user_id');
}

public function post()
{
return $this->hasOne('App\Models\Post', 'id', 'post_id');
}

public function children()
{
return $this->hasMany('App\Models\Comment', 'parent_id', 'id');
}

}

在我看来我正在做

@foreach($comments as $comment)
<!-- Comment markup -->
@if($comment->children->count() > 0)
@foreach($comment->children as $child)
<!-- Child comment markup -->
@if($child->children->count() > 0) // I have to do this unlimited times
@foreach ....

@endforeach
@endif
@endif
@endforeach

我正在寻找一种方法来实现自动化,也许可以使用某个函数或其他东西。

最佳答案

您基本上是在寻找递归 View 。这在下面的示例中进行了说明(提取出 show View 并不是真正需要的,但这是一个好主意)。

resources/views/comments/index.blade.php

@foreach($comments as $comment)
{{-- show the comment markup --}}
@include('comments.show', ['comment' => $comment])

@if($comment->children->count() > 0)
{{-- recursively include this view, passing in the new collection of comments to iterate --}}
@include('comments.index', ['comments' => $comment->children])
@endif
@endforeach

resources/views/comments/show.blade.php

<!-- Comment markup -->

关于php - 在 Laravel 中使用 Blade 嵌套评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com