在数组键问题CakePHP使用列表方法查找条件

时间:2017-05-16 05:00:05

标签: php arrays cakephp

我需要Cakephp查找列表条件的结果使用默认数组键而不是主要ID

我已执行以下代码

$products = $this->Product->find('list', array(
                                            'contain' => array(),
                                            'fields' => array('Product.id'),                                              
                                        ));

根据以上代码,我得到了下面的结果。

Array
(
    [1] => 1
    [2] => 2
)
下面的

(数组键必须是索引方式)

Array
(
    [0] => 1
    [1] => 2
)

4 个答案:

答案 0 :(得分:1)

你可以使用Cakephp的Set:classicExtract函数

$products = $this->Product->find('all', array(
                                            'contain' => array(),
                                            'fields' => array('Product.id'),                                              
                                        ));

$products = Set::classicExtract($products, '{n}.Product');

答案 1 :(得分:1)

您只需使用array_values即可达到您的要求。像这样,

$products = array_values($products);

答案 2 :(得分:0)

只需将其传递给array_values()即可重新索引数组:

$products = array_values( $products );

http://php.net/manual/en/function.array-values.php

答案 3 :(得分:0)

array_values返回数组中的所有值,并以数字方式索引数组。从 0到N

开始
$products = array_values($products);