如何将cakephp mysql结果转换为一个简单的数组

时间:2012-11-08 12:35:51

标签: mysql cakephp-2.0

App::import('model','User');
        $user_model = new User();
        $xxx = $user_model->find("all", array("fields"=>array("User.yyy")));
        $zzz = $user_model->find("count", array("fields" => "User.yyy"));
        $arr = array();
        for($i=0; $i<=$zzz; $i++){
                $rs = $xxx["i"]["User"]["yyy"];
                array_push($arr , $rs);
        }
        print_r($arr);

我使用上面的cakephp代码将$ xxx作为mysql结果集。

我需要将mysql表中与“yyy”字段对应的所有值存储到arrray中。

我尝试打印结果集并获得如下输出: -

print_r($zzz)= 1646 // prints the total number of results
print_r($xxx[0]["User"]["yyy"]) = abcde   //the first element of the result set

运行上面的代码后,它只打印一个空数组。

有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

问题在于:

$xxx["i"]["User"]["yyy"]

应该是:

$xxx[$i]["User"]["yyy"]

假设代码位于控制器中,我会这样写:

$this->loadModel('User');
$arr = $this->User->find("list", array("fields"=>array("User.yyy")));

find(“list”)应该返回一个由id

索引的数组

如果要删除ID,可以执行以下操作:

$arr = array_values($arr)