当我解雇时:
$this->model->find('all',array());
我得到一个包含模型数据的数组:
Array
(
[0] => Array
(
// some data
)
[1] => Array
(
// some data
)
[2] => Array
(
// some data
)
...
)
现在是否有可能而不是0,1,2来获取每个数据的密钥?
例如:
Array
(
[365] => Array
(
[model] => Array
(
[id] => 365
// some data
)
)
[442] => Array
(
[model] => Array
(
[id] => 442
// some data
)
)
[1000] => Array
(
[model] => Array
(
[id] => 1000
// some data
)
)
...
)
我知道find('list')
可以做类似的事情但仅限于2个字段(一个键和一个值)。
答案 0 :(得分:0)
你可以构建它也许这段代码可以做到:
$final_array = array();
foreach($returned_array as $k => $v){
$final_array[$v['id']] = $v;
}
print_r($final_array);
答案 1 :(得分:0)
它仍然是一个后寻找操作,但看看Set :: combine(http://book.cakephp.org/2.0/en/core-utility-libraries/set.html)是一个更优雅的解决方案。类似的东西:
$newArray = Set::combine($yourArray, '{n}.Model.id');
/* $newArray now looks like:
Array
(
[365] =>
[442] =>
[1000] =>
)
*/
(或多或少只是文档示例)可能适用于您的情况。