FuelPHPのORMでwhere句にメソッドチェーンを使用する方法
FuelPHP の ORM を使い、次のような where 句を持つ SQL文で DB を参照することを考えます。
1 |
select * from patients where (id=1 and name='yamada') and (id=2 or name='tanaka'); |
上記のように where 句に複数の条件を持つ場合、ORMではquery() メソッドを使って次の様に->
でつなげて記述できます。
1 2 3 4 5 6 7 8 9 10 |
$query = Model_Patient::query() ->where_open() ->where('id', 1) ->and_where('name', 'yamada') ->where_close() ->and_where_open() ->where('id', 2) ->or_where('name', 'tanaka') ->and_where_close() ->get(); |
複雑な条件を持つ場合、一度作成したクエリをさらにメソッドチェーンでつなげることもできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$query = Model_Patient::query() ->where('id', 1); $query = $query ->and_where_open() ->where('id', 2) ->and_where('name', 'yamada') ->and_where_close(); $query = $query ->and_where_open() ->where('id', 3) ->or_where('name', 'tanaka') ->and_where_close(); $query->get(); |
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。