获取PHPActiveRecord结果作为简单数组,而不是对象数组
发布时间:2020-12-13 16:35:37 所属栏目:PHP教程 来源:网络整理
导读:我想有一个简单的方法,可以将 PHP Activerecord结果作为简单/关联数组,而不是ActiveRecord对象数组. 在Ruby中,我相信这可能是通过.map()方法完成的. (我不是ruby家伙…) 我想要的是一个简单的方法调用,比如Zend_DB_Table中的toArray(),而不是foreach,或类似
我想有一个简单的方法,可以将
PHP Activerecord结果作为简单/关联数组,而不是ActiveRecord对象数组.
在Ruby中,我相信这可能是通过.map()方法完成的. (我不是ruby家伙…) 我想要的是一个简单的方法调用,比如Zend_DB_Table中的toArray(),而不是foreach,或类似的东西,但我似乎无法在他们的docs中找到它. 在PHP ActiveRecord中获取结果非常简单: $settings = SystemSettings::all(); 但它给出了这样的东西: [0] => SystemSettings Object ( [errors] => [attributes:ActiveRecordModel:private] => Array ( [param] => author [value] => Hawle ) [__dirty:ActiveRecordModel:private] => Array ( ) [__readonly:ActiveRecordModel:private] => [__relationships:ActiveRecordModel:private] => Array ( ) [__new_record:ActiveRecordModel:private] => ) [1] => SystemSettings Object ( [errors] => [attributes:ActiveRecordModel:private] => Array ( [param] => base_url [value] => example.com ) [__dirty:ActiveRecordModel:private] => Array ( ) [__readonly:ActiveRecordModel:private] => [__relationships:ActiveRecordModel:private] => Array ( ) [__new_record:ActiveRecordModel:private] => ) 虽然在很多情况下这真的很棒,但在这里,我只想拥有一个简单的数组,如下所示: Array ( [author] => Hawle [base_url] => example.com )
我有一个类似的问题,希望这可以帮助其他人偶然发现它.显然,这是phpactiverecord.org特有的.
在/lib/Model.php中我添加了以下函数: public function to_array(array $options=array()) { return $this->serialize('array',$options); } 在/lib/Serialization.php中,我添加了以下类 class arraySerializer extends Serialization { public static $include_root = false; public function to_s() { return self::$include_root ? array(strtolower(get_class($this->model)) => $this->to_a()) : $this->to_a(); } } 然后我可以调用 – > to_array()并返回一个数组. 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |