未调用Laravel模型事件绑定

我将验证添加到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
}

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

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

任何想法为什么启动方法没有被正确调用,或者我在这里做错了什么?

链接地址: http://www.djcxy.com/p/83193.html

上一篇: Laravel model event binding not called

下一篇: phpunit not finding model method (Laravel / Mockery)