阻止 Laravel 观察者事件的动作
Prevent action from Laravel observer events
我想知道如何阻止模型观察者的动作,例如:
$model->update(['foo' => 'bar']);
在观察者中
public function updating(Model $model)
{
if($model->isDirty('foo') {
// Prevent action from happening
}
}
提前致谢。
你可以简单地 return false。
如文档中所述。 http://laravel.com/docs/5.6/events#defining-listeners.
Sometimes, you may wish to stop the propagation of an event to other listeners. You may do so by returning false from your listener's handle method.
此操作不会更新 record/model。
public function updating(Model $model)
{
if ($model->isDirty('foo')) {
// Prevent action from happening
return false;
}
}
虽然模型实例值得到更新,但这些值不会在数据库中更新,因此在 return 将实例发送到视图或 API 时要小心。为了解决这个问题,您可以使用 getOriginal()
希望这对您有所帮助。
我想知道如何阻止模型观察者的动作,例如:
$model->update(['foo' => 'bar']);
在观察者中
public function updating(Model $model)
{
if($model->isDirty('foo') {
// Prevent action from happening
}
}
提前致谢。
你可以简单地 return false。
如文档中所述。 http://laravel.com/docs/5.6/events#defining-listeners.
Sometimes, you may wish to stop the propagation of an event to other listeners. You may do so by returning false from your listener's handle method.
此操作不会更新 record/model。
public function updating(Model $model)
{
if ($model->isDirty('foo')) {
// Prevent action from happening
return false;
}
}
虽然模型实例值得到更新,但这些值不会在数据库中更新,因此在 return 将实例发送到视图或 API 时要小心。为了解决这个问题,您可以使用 getOriginal()
希望这对您有所帮助。