cakePHPで部分一致検索
サンプルを探してみると
$this->find("all",array("conditions" => array("name like" => "%hogehoge%")));
ってなってる。
フォームの受け取りデータで部分一致とすると
$this->find("all",array("conditions" => array("name like" => "%".$name."%")));
こんな感じになるのか。
ん、ちょっと待て、これちゃんとエスケープするのか?
と思っていろいろ叩いてみたところ、「'」は「\'」になってたが、ほかはそのままだった。
「%」とか「_」はそのまま。余計なレコードがつれそう
変に一致しちゃいそうなので、データ作成時と検索条件に記号を使わない方向で進めることに。大丈夫なのかなー、一応インジェクションはできないように見えるけど・・・。