読者です 読者をやめる 読者になる 読者になる

やったこと

webサービスを作るときに考えたことを垂れ流します

cakephpでランダムにデータが取得できない!

cakephpでランダムにデータが取得できなくてはまった。

以下のようにするとランダムにデータが取得できると聞いたんだけど、いくらやっても「General error: 1 no such function: rand」とエラーが出て全然データが取得できない・・。

//ランダムに3件データを取得
$rnd = $this->Model->find('all', array('order'=>'rand()','limit'=>3));


いろいろ調べたら、どうも「rand()」というのはmysqlの関数らしくて、sqliteを使う場合は「random()」を使わなくてはいけないらしい。

すなわちsqliteでは下記のようなコードが正しい。

//SQliteの場合はこう!
$rnd = $this->Model->find('all', array('order'=>'random()','limit'=>3));


このことが全然ブログに書いてなくて2~3時間くらいはまってしまった・・ちゃんと書いといてよもう・・。