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”字段对应的所有值存储到一个数组中。

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

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

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

有人可以帮我吗?

4

1 回答 1

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)
于 2012-11-12T19:59:56.047 回答