cakephp set:由find join生成的extract数组

时间:2016-08-01 07:05:36

标签: arrays cakephp extract

我有cakephp 2.8项目,我有Model->find('all',array('joins'))返回的数组,就像这样

array(
(int) 0 => array(
    'Result' => array(
        'id' => '1',
        'student_id' => '1',
    ),
    'User' => array(
        'fullname' => 'Alam'
    )
),
(int) 1 => array(
    'Result' => array(
        'id' => '2',
        'student_id' => '11',
    ),
    'User' => array(
        'fullname' => 'Student 1'
    )
)
);

我想要这个数组如下

array(
(int) 0 => array(
        'id' => '1',
        'student_id' => '1',
        'fullname' => 'Alam'
),
(int) 1 => array(
        'id' => '2',
        'student_id' => '11',
        'fullname' => 'Student 1'
)
);

我尝试了Set::extract('/Result/.');Set::extract('/Result/User/.');和其他变体,但我没有得到理想的结果。 我知道我可以通过foreach循环来实现它但我想要它可以通过一些内置的php或cakephp函数来完成。

1 个答案:

答案 0 :(得分:0)

我还没有设法只使用一个功能,但是,也许这会为你做到这一点:

$t = Hash::mergeDiff(
            Hash::extract($inputArray, '{n}.Result'),
            Hash::extract($inputArray, '{n}.User')
            );

debug($t);