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 コードを使用して、mysql の結果セットとして $xxx を取得しています。

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 に答える