ログ日記

作業ログと日記とメモ

O/Rマッピングによるlike検索

なんだか解析処理に近くなってきたが

$where = array('category' => 'normal',
               'mail'     => array('like', '@gmail.com');

$vos = $this->_DataAccessUtils->getVos('member', $where);
// select * from member where category = 'normal' and mail like ('%@gmail.com%')

このように指定するようにした。

array(voプロパティ名 => 値);
// 'where カラム名 = 値'

array(voプロパティ名 => array(like | prefixlike | suffixlike | in | ... , 値);
// 'where カラム名 like 値'、など

強引すぎる気もするが・・・しかしSQL文を直接書くよりはまだミスも防げるかと。