Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4模型事件。在模型上设置查询结果后是否可以执行读取、读取类型事件?_Php_Laravel_Laravel 4_Laravel 3 - Fatal编程技术网

Php Laravel 4模型事件。在模型上设置查询结果后是否可以执行读取、读取类型事件?

Php Laravel 4模型事件。在模型上设置查询结果后是否可以执行读取、读取类型事件?,php,laravel,laravel-4,laravel-3,Php,Laravel,Laravel 4,Laravel 3,在Laravel4中,有用于创建、创建、更新、更新等的模型事件 是否有人找到了一种方法,可以在不攻击/扩展QueryBuilder类的情况下执行类似于read,read事件的操作 即使它不是一个事件,我也希望在将查询结果(其中任何一个)注入到模型属性之前/期间/之后找到一种方法来实现这一点 到目前为止,我只是在我的核心/基本模型类上重写getAttributeFromArray方法,该方法可以工作,但显然每次尝试获取模型中的属性/属性时都会运行该逻辑(最终可能是一个代价高昂的操作) 谢谢 我能够

在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');
}