とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

cake焼きました(11)

「cakePHP1.2におけるfindの仕方」
cakePHP1.1方式でfindallを書いていたらパラメータが全く適用されないという壁に当たりました。
どうやらfindの形式がだいぶ異なっていたようです…


まずは1.1方式

    function getRank()
    {
        $conditions = array('hoge.ticket' => $ticket),
        $order = 'id desc';
        $limit = 3;
        return $this->findall($conditions, $order, $limit);
    }


次に1.2方式

    function getRank()
    {
        $param = array(
                        'conditions' => array('ticket' = $ticket),
                        'order'      => 'id desc',
                        'limit'      => 3);
        return $this->find('all', $param);
    }

問題は、1.2では1つの配列に複数のパラメータがまとまっていること。
道理でできないわけだと。
マニュアルを読んでも1.1と違うということは書いてないので、
注意して見なければ間違ったままになってしまいます。
下手に1.1を知ってると、こういったときにやりにくいですね><


参考
http://book.cakephp.org/ja/view/449/find