0

I am using phpactive record. To find all data from one table I am using like below

$groups = GroupModel::all();

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

then getting output like

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] => 
        )

)

but I want output like

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

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

Please anyone help me. Thanks

Jon Bates
  • 3,055
  • 2
  • 30
  • 48

1 Answers1

0

I was also stuck on this, answering here for other people's reference:

The to_array method of phpactiverecord can be used, like below:

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

Now $arr_items has the desired associative array format.

Above code can be transformed to a reusable function, like below

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;
}
kewlashu
  • 1,099
  • 10
  • 18