Laravel-Livewire笔记系列(六)-Livewire 发布留言-2
作者:温新
时间:2021-08-14
hi,我是温新,一名PHPer
1)本系列笔记使用Laravel8.x作为演示;
2)使用Livewire2.x版本
本篇案例是发布留言。发布留言之前,请确保数据表中有用户数据,且有用户登录系统。
第一步:创建留言发布组件
php artisan livewire:make LeaveMsgCreate
第二步:模板组件中使用发布留言组件
// resources/views/livewire/leave-msg-index.blade.php
<div>
<livewire:leave-msg-create />
<ul>
@foreach($leaveMsgs as $v)
<li>{{$v->user->name}}--{{ $v->content }}</li>
@endforeach
</ul>
</div>
第三步:修改留言发布组件
// resources/views/livewire/leave-msg-create.blade.php
<div>
<!-- wire:submit.prevent提交地址 -->
<form wire:submit.prevent="createLeaveMsg">
<div class="form-group">
<label for="content">留言</label>
<!-- 数据双向绑定 -->
<textarea wire:model.lazy="content" id="content" rows="3"></textarea>
</div>
<!-- 点击发布后提交到createLeaveMsg方法 -->
<button type="submit" class="btn btn-sm btn-primary">发布留言</button>
</form>
</div>
第四步:添加组件控制器方法
// app/Htpp/Livewire/LeaveMsgCreate.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class LeaveMsgCreate extends Component
{
public $content;
public function render()
{
return view('livewire.leave-msg-create');
}
// 发布留言
public function createLeaveMsg()
{
// 用户必须登录才能发布留言
if (auth()->check()) {
auth()->user()->leageMsg()->create([
'content' => $this->content
]);
}
// 留言发布成功后清空表单信息
$this->content = '';
}
}
第五步:访问路由并发布留言
必须要登录哦~~
我是温新
每天进步一点点,就一点
请登录后再评论