Zend_Dbのdeleteでハマった話
最近仕事でZend Frameworkを利用することがあって、そのときハマった内容のメモ。
delete文を実行するため、Zend_Db#delete($sql,
$where)を利用しようとしたのだけど、どうも$whereへ複数指定した場合や主キー以外を指定した場合に上手くいかない。
で、以下のように書いたら解決した。
$where = array( $db->quoteInto('key = ?', $key), $db->quoteInto('date < ?', $date), ; $count = $db->delete('table', $where);
ネットで調べると$whereの書き方がいろいろあったけど、この書き方だと上手くいった。
追記。ついでにselectも
$select = $db->select() ->from('sp_table', 'count(*) AS cnt') ->where('artist = ?', $artist) ->where('pub_date >= ?', $pubDate);