我正在使用Cake的Setphp来格式化find返回的数组,但似乎无法找到一种方法让计数器从零开始,并自动增加数组键,所以它就像
[0] => 3
[1] => 6
[2] => 12
我目前正在使用以下查询从HasAndBelongsToMany表中获取数据。
$interest_ids = Set::combine($this->User->Interestsub->find('threaded', array
(
'conditions' => array
(
'Interestsub.name' => $interests
),
//'fields' => array('Interestsub.id'),
'recursive' => -1
)
),
'{n}.Interestsub.id',
'{n}.Interestsub.id'
);
我之所以需要这个,是因为我正在尝试将返回的数组作为更大的父数组的一部分,准备为SaveAll函数保存。要正确格式化,我需要在嵌套数组下面出现:
[0] => Array
(
[interestssub_id] => 12
[user_id] => 2
)
[1] => Array
(
[interestssub_id] => 22
[user_id] => 2
)
[2] => Array
(
[interestssub_id] => 32
[user_id] => 2
)
有没有办法可以像上面那样使用Combine类格式化返回的数组?
答案 0 :(得分:0)
在这种情况下,没有真正的理由使用Set
类。只需使用好的老式php:
$threaded = $this->User->Interestsub->find('threaded', array(
'conditions' => array(
'Interestsub.name' => $interests
),
'recursive' => -1
));
$interest_ids = array();
foreach ($threaded as $thread) {
$interest_ids[] = array(
'interestssub_id' => $thread['Interestsub.id'],
'interestssub_id' => $thread['Interestsub.user_id']
);
}