使用观察者观察Dcat admin的保存事件,但是没有正确运行
最近想做一个在线视频播放管理的系统,后台使用dcat admin
,管理员可以在后台添加视频目录。理想状态是管理员添加目录后,观察者模式观察到saved
动作,然后更新这条数据的其他信息,比如目录中的视频数量等。dcat admin
部分代码如下
protected function form()
{
return Form::make(new Directory(), function (Form $form) {
$form->display('id');
$form->text('path')->help('视频文件目录,请使用绝对路径');
$form->hidden('number')->default(0);
$form->hidden('exist')->default(0);
$form->display('created_at');
$form->display('updated_at');
});
}
observer
部分代码如下
namespace App\Observers;
use App\Directory;
class DirectoryObserver
{
public function created(Directory $directory)
{
// 获取目录下的所有视频文件
$directory->number = 10;
$directory->save();
}
}
AppServiceProvider
中也已经注册
public function boot()
{
Directory::observe(DirectoryObserver::class);
}
经测试,使用saved
也不行,有人能解答一下吗,谢谢。
推荐文章: