laravel 有类似thinkphp的前置方法吗?

1.我执行控制器里的添加分类时,有个字段path,需要先执行模型里的方法,给path值,然后控制器里的方法save()
thinkphp里有after_insert 和after_update。
laravel不知道怎么处理好

阅读 3.9k
7 个回答

请使用Eloquent模型中的事件.
常用事件如下

creating
created
updating
updated
saving
saved
deleting
deleted

具体的事件请查看laravel版本.不同的版本事件类型是不同的
附上链接:
教程点我
laravel最新版

新手上路,请多包涵

Observers

https://laravel-china.org/doc...

Eloquent 的模型触发了几个事件,可以在模型的生命周期的以下几点进行监控 retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring、restored。事件能在每次在数据库中保存或更新特定模型类时轻松地执行代码。

从数据库中检索现有模型时会触发 retrieved 事件。当新模型第一次被保存时, creating 以及 created 事件会被触发。如果模型已经存在于数据库中并且调用了 save 方法,会触发 updating 和 updated 事件。在这两种情况下,saving / saved 事件都会触发。

开始前,在 Eloquent 模型上定义一个 $dispatchesEvents 属性,将 Eloquent 模型的生命周期的各个点映射到你的 事件类 中。

新手上路,请多包涵

可以试试中间件

我也想知道,哪怕YII都有,可laravel还不知道

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题