模型事件
2018-02-24 15:52 更新
Eloquent 模型有很多事件可以触发,让您可以在模型操作的生命周期的不同时间点,使用下列方法绑定事件: creating
, created
, updating
, updated
, saving
, saved
, deleting
, deleted
, restoring
, restored
。
当一个对象初次被储存到数据库, creating
和 created
事件会被触发。如果不是新对象而调用了 save
方法, updating
/ updated
事件会被触发。而两者的 saving
/ saved
事件都会被触发。
使用事件取消数据库操作
如果 creating
、 updating
、 saving
、 deleting
事件返回 false
的话,就会取消数据库操作
User::creating(function($user)
{
if ( ! $user->isValid()) return false;
});
注册事件监听者的方式
您可以在 EventServiceProvider
中注册您的模型事件绑定。比如:
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events);
User::creating(function($user)
{
//
});
}
以上内容是否对您有帮助:
← 属性类型转换
更多建议: