Laravel Blade是Laravel框架中的模板引擎,它提供了一种简洁、直观的方式来构建视图。通过Laravel Blade,我们可以轻松地通过id链接评论到每个帖子。下面是一种实现方式:
{{ }}
来输出变量,使用@if
和@endif
来进行条件判断,使用@foreach
和@endforeach
来遍历数据等。 例如,你可以创建一个名为comments.blade.php
的视图文件,其中包含一个评论表单和展示评论的区域:
<h2>评论</h2>
<form action="/comments" method="POST">
@csrf
<input type="hidden" name="post_id" value="{{ $post->id }}">
<textarea name="content" placeholder="请输入评论内容"></textarea>
<button type="submit">提交评论</button>
</form>
<h3>评论列表</h3>
@foreach ($post->comments as $comment)
<div>
<p>{{ $comment->content }}</p>
<p>评论人:{{ $comment->user->name }}</p>
</div>
@endforeach
在上述代码中,我们使用$post->id
来获取当前帖子的id,并将其作为隐藏字段传递给评论表单。同时,使用$post->comments
来获取当前帖子的所有评论,并使用$comment->content
和$comment->user->name
来展示评论内容和评论人。
例如,你可以在web.php
文件中添加以下路由定义:
Route::post('/comments', 'CommentController@store');
然后,在CommentController
控制器中添加store
方法来处理评论的存储逻辑:
public function store(Request $request)
{
$comment = new Comment();
$comment->post_id = $request->input('post_id');
$comment->content = $request->input('content');
$comment->user_id = Auth::id();
$comment->save();
return redirect()->back();
}
在上述代码中,我们首先创建一个新的Comment
模型实例,并将请求中的帖子id、评论内容和当前用户id赋值给相应的属性。然后,调用save
方法将评论保存到数据库中。最后,使用redirect()->back()
方法将用户重定向回之前的页面。
.env
文件中配置数据库连接信息,并使用Laravel提供的认证系统来管理用户认证。至此,你已经完成了通过id链接评论到每个帖子的功能。用户可以在帖子页面中填写评论表单,提交后评论将被保存到数据库,并显示在评论列表中。
请注意,以上答案是基于Laravel框架和Laravel Blade模板引擎的实现方式。如果你想了解更多关于Laravel的信息,可以参考腾讯云的Laravel产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云