stibiumz / phalcon.eager-loading

Solves N+1 query problem in Phalcon Model
The Unlicense
36 stars 24 forks source link

toArray() #6

Open davidsteinsland opened 9 years ago

davidsteinsland commented 9 years ago

Would be nice if you would create a wrapper for toArray(), making the following output:

/* Entry belongsTo Channel, Entry hasMany Files */
$result = Entries::with('Channel', 'Files');
print_r($result->toArray());
[
    0 => [
        'id' => 1,
        'channel_id' => 1,
        'Channel' => [
            'id' => 1,
            'name' => 'My Chanel'
        ],
        'Files' => [
            0 => [
                'id' => 1,
                'entry_id' => 1,
                'name' => 'foo.jpg'
            ]
        ]
    ]
]

What I do currently:

$data = [];
$i = 0;
foreach ($result as $row) {
    $data[$i] = $row->toArray();
    $data[$i]['Channel'] = $row->channel->toArray();
    foreach ($row->files as $file) {
        $data[$i]['Files'][] = $file->toArray();
    }
    $i++;
}
erisrayanesh commented 6 years ago

Same issue.