Php Laravel 4模型事件。在模型上设置查询结果后是否可以执行读取、读取类型事件?
在Laravel4中,有用于创建、创建、更新、更新等的模型事件 是否有人找到了一种方法,可以在不攻击/扩展QueryBuilder类的情况下执行类似于read,read事件的操作 即使它不是一个事件,我也希望在将查询结果(其中任何一个)注入到模型属性之前/期间/之后找到一种方法来实现这一点 到目前为止,我只是在我的核心/基本模型类上重写getAttributeFromArray方法,该方法可以工作,但显然每次尝试获取模型中的属性/属性时都会运行该逻辑(最终可能是一个代价高昂的操作)Php Laravel 4模型事件。在模型上设置查询结果后是否可以执行读取、读取类型事件?,php,laravel,laravel-4,laravel-3,Php,Laravel,Laravel 4,Laravel 3,在Laravel4中,有用于创建、创建、更新、更新等的模型事件 是否有人找到了一种方法,可以在不攻击/扩展QueryBuilder类的情况下执行类似于read,read事件的操作 即使它不是一个事件,我也希望在将查询结果(其中任何一个)注入到模型属性之前/期间/之后找到一种方法来实现这一点 到目前为止,我只是在我的核心/基本模型类上重写getAttributeFromArray方法,该方法可以工作,但显然每次尝试获取模型中的属性/属性时都会运行该逻辑(最终可能是一个代价高昂的操作) 谢谢 我能够
谢谢 我能够通过在我的核心/基本模型类(extends-elount\model)中添加并重写1个方法来实现这一点
这样,当结果被注入模型时,我的读取事件将只触发一次。我没有让事件在模型上的每个get调用中运行。我能够通过在我的核心/基本模型类(extends-elount\model)中添加并重写1个方法来实现这一点 这样,当结果被注入模型时,我的读取事件将只触发一次。而不是让事件在模型上按get调用运行
public static function read($callback)
{
static::registerModelEvent('read', $callback);
}
public function setRawAttributes(array $attributes, $sync = false)
{
parent::setRawAttributes($attributes,$sync);
$this->fireModelEvent('read');
}