« Cannot access empty property | メイン | メモリ増設 »

SELECT文で条件にあった一覧を取得したい

SELECT文で条件にあった一覧を取得したい

たとえば、SELECT * FROM users WHERE id=3; を実行したければ、
$this->User->findAll(array('id' => 3));
とすればよい。別のテーブルをSELECTしようとするとUserなんて知らないと怒られるので、
var $uses = array('(自モデル)', 'User');
としなければならない。

なお、このSQLを実行するには、findAllByUserId(3)というのも使えるが、汎用性にかけるので、原則findAllメソッドを利用するとよいと思う。(ただ、公式マニュアルによればfindAllメソッドは非推奨となっており、find('all')を使えとある。)

また、SELECT * FROM users WHERE id=3 AND nickname IS NOU NULL; を実行したければ
$this->User->findAll(array('id' => 3, 'not' => array('nickname' => null)));
となる。

参考:findAll で IS NOT NULL



トラックバック

トラックバックは本サイトの紹介(リンクがあれば可)があるものに限り受付いたします。このエントリーのトラックバックURLは以下のとおりです。

http://blog.development-network.net/mt/mt-tb.cgi/836

コメントを投稿