Php 未调用Laravel模型事件绑定

Php 未调用Laravel模型事件绑定,php,laravel,eloquent,Php,Laravel,Eloquent,我正在向BaseModel类添加验证,所有有说服力的模型最终都将在我的应用程序中扩展 基类类似于: class BaseModel extends Eloquent { private $errors; private $validator; public function __construct() { $this->validator = new BaseValidator(get_class($this)); } public static function boot(

我正在向BaseModel类添加验证,所有有说服力的模型最终都将在我的应用程序中扩展

基类类似于:

class BaseModel extends Eloquent {

private $errors;
private $validator;

public function __construct()
{
    $this->validator = new BaseValidator(get_class($this));
}

public static function boot()
{
    parent::boot();
    static::creating(function($model) {
         return false;
      });
    static::saving(function($model)
    {
        return false;
    });
}
延伸基层的混凝土样本:

class News extends BaseModel {
protected $guarded = ['audience', 'deleted_at'];
protected $table = 'zbw_news';

//relations, scopes, etc
}
每当我通过artisan tinker创建一个新对象时,保存闭包不会被触发(当它应该返回
false
时,它返回
true
)。但是,我可以直接在模型的静态绑定上绑定闭包(而不是后期静态绑定),并且它可以按预期工作:

\News::saving(function($model) { return false; });

你知道为什么启动方法没有被正确调用,或者我在这里做错了什么吗?

你怎么知道事件没有被命中?因为$model->save()返回
true
如果你把启动方法移到子级怎么办?已经尝试过了,同样的结果调用
parent::construct()