脳みそスワップアウトスマートフォン用の表示で見る脳みそスワップアウト揮発性なもので。この広告は、90日以上更新していないブログに表示しています。sqlBuilder私の携わったプロジェクトではORMが採用されないケースが多い。メリットデメリットともにあるし、向き不向きもあるし、アレルギーを持ってる人がいたりするし、論争に興味もないのでそれ自体はいいのだけど、たとえORMを使わない場合でも、クエリビルダだけは欲しいと思うことが多々ある。文字列でSQLを組み立てているとだんだん訳が分からなくなってくる。要はSQLの組み立てを構造的に行いたいのだ。ORMはクエリビルダの機能を含んでいることが多いので、そこだけ使うことができないか調べてみた。PHPのORMライブラリの候補はいくつかあるDoctrine2PHPでいちばん有名なORM。Symfony2で使われている。DQLというSQLライクではあるが独自の文法を覚えないとならない。ヘビーすぎるし、ORM嫌いな人には採用されないだろうということでパス。FluentPDO今回はパス。Idiorm今回はパス。cakephp/ormクエリビルダだけ利用できたら使いやすそうなのだけど、ORM/クエリビルダ部分として単品で使うことができず、フレームワークのコアまで要求されるのでパス。illuminate/databaseLaravelで使われている。この中では一番hotそうなのでこれを試してみた。クエリビルダのAPIも載っている。括弧は関数で書くというのが特徴で、それ以外は直感的に使える感じ。クエリビルダのみを使うにはこんな感じになる。部分的なSQLを得ることができない。残念ながらwhere部分のみを得ることができないので、SQL全体をこれで構築することになる。できるが、同一カラム名を追加すると重複してしまう。即時にSQLが実行されてしまう。