【问题标题】:How to convert object to array in php active record如何在php活动记录中将对象转换为数组
【发布时间】:2020-04-04 12:15:16
【问题描述】:

我正在使用 phpactive 记录。要从我正在使用的一张表中查找所有数据,如下所示

$groups = GroupModel::all();

echo "<pre>";
print_r($groups);

然后得到像

这样的输出
Array
(
    [0] => GroupModel Object
        (
            [errors] => 
            [attributes:ActiveRecord\Model:private] => Array
                (
                    [group_id] => 1
                    [group_name] => group added new one
                )

            [__dirty:ActiveRecord\Model:private] => Array
                (
                )

            [__readonly:ActiveRecord\Model:private] => 
            [__relationships:ActiveRecord\Model:private] => Array
                (
                )

            [__new_record:ActiveRecord\Model:private] => 
        )

    [1] => GroupModel Object
        (
            [errors] => 
            [attributes:ActiveRecord\Model:private] => Array
                (
                    [group_id] => 2
                    [group_name] => group added new one
                )

            [__dirty:ActiveRecord\Model:private] => Array
                (
                )

            [__readonly:ActiveRecord\Model:private] => 
            [__relationships:ActiveRecord\Model:private] => Array
                (
                )

            [__new_record:ActiveRecord\Model:private] => 
        )

)

但我想要像这样的输出

Array
(
    [0] => [group_id] => 1
           [group_name] => group added new one

    [1] => [group_id] => 2
           [group_name] => group added new one
)

请任何人帮助我。谢谢

【问题讨论】:

    标签: php phpactiverecord toarray


    【解决方案1】:

    我也卡在这个了,在这里回答供其他人参考:

    可以使用phpactiverecordto_array方法,如下:

    $arr_items = array();
    foreach ($groups as $group) {
        $arr_items[] = $group->to_array();        
    }
    

    现在$arr_items 具有所需的关联数组格式。

    上面的代码可以转换为可重用的函数,如下所示

    function par_to_array_all($results, $options = '')
    {
        $arr_items = array();
        foreach ($results as $row) {
            if (is_array($options)) {
                $arr_items[] = $row->to_array($options);
            } else {
                $arr_items[] = $row->to_array();
            }
        }
        return $arr_items;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 2020-07-13
      • 1970-01-01
      • 2022-01-14
      • 2012-01-11
      • 2010-12-24
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      相关资源
      最近更新 更多