FuelPHP ORMでの 3つ以上のORの指定について

0
Shintaro Ikezaki @hackoh

FuelPHPのOrmで、where (title like '%foo%' or content like '%foo%') and (title like '%bar%' or content like '%bar%') をやりたいんだけど、出来ないの? #FuelPHP

2013-07-03 19:18:07
mamor @mamor_u_

@hackoh 気になったので試しにやってみました。これでどうでしょうか。 https://t.co/b62YEfTJ9F

2013-07-03 21:19:44
Shintaro Ikezaki @hackoh

@madmamor ありがとうございます。 確かに、query()を使えば出来るのですが、find()の'where'引数でなんとかやれないかなあと思っていたのです。説明不足で申し訳ないです。

2013-07-03 22:23:23
mamor @mamor_u_

@hackoh なるほど。find版書き足してみました :) https://t.co/b62YEfTJ9F (もし意図と違っていたら無視して下さいw)

2013-07-03 22:31:59
Shintaro Ikezaki @hackoh

@madmamor 何度もごめんなさい。。意味としては意図通りなのですが、これも僕の例が悪く。。where (title like '%foo%' or content like '%foo%' or name like '%foo%') 略.. だとどうでしょうか?

2013-07-03 22:35:29
mamor @mamor_u_

@hackoh たしかに3つ以上だとA or B and CはつなげてもA or B or CしようとするとA or Cになってしまいますね。

2013-07-03 22:41:31
Shintaro Ikezaki @hackoh

@madmamor 単純にassocの限界ですね。なので、'or:0' や 'or:1'と指定できるクイックハックを書いてみましたが、とりあえず今のところは動いてます。https://t.co/4D6gzcGbzH

2013-07-03 22:47:07
mamor @mamor_u_

@hackoh なるほど。てか、たしかに'or'複数指定しても最後のしか残らないですもんね。。。無駄にお時間取らせて申し訳ないです m(_ _)m

2013-07-03 22:50:59
Shintaro Ikezaki @hackoh

@madmamor とんでもないです。こちらのセリフです。構っていただいて大変嬉しいです。

2013-07-03 22:53:52