Laravel4 Eloquent ORM SELECTをあれこれ試してみる
前回Createと触り程度をやってみたEloquent ORMですが
今回はもう少し踏み込んで見たいと思います。
クエリを試す
<?php ~~ skip //PK参照 $records = Calendar::find(1); //条件参照 $records = Calendar::where('area_name', 'tokyo')->get(); //条件参照(比較演算子) $records = Calendar::where('id', '<=', 2)->get(); //条件参照(LIKE) $records = Calendar::where('area_name', 'LIKE', "%kyo%")->get(); //条件参照(IN) $records = Calendar::whereIn('area_name', array('tokyo', 'aomori'))->get(); //条件参照(OR) $records = Calendar::whereOr('area_name', array('tokyo', 'aomori'))->get(); //Order $records = Calendar::where('area_name', 'tokyo')->orderBy('id', 'DESC')->get(); //Where最初とは限らない $records = Calendar::groupBy('area_name')->get(); //OR句のネストだとこうなる(ちょっと複雑にしてみた) //select `id` from `calendar` where `calendar`.`deleted_at` is null and (`id` <= ? or `id` >= ?) and `area_name` = ? order by `id` desc $records = Calendar::select('id') ->where(function($query) { $query->where('id', '<=', 10); $query->orWhere('id', '>=', 50); }) ->where('area_name', 'tokyo') ->orderBy('id', "DESC") ->get(); // クエリログを確認する var_dump(DB::getQueryLog()); //JSON形式で表示 var_dump( Response::json($records));
これらが出来ればもう参照クエリは制覇したも当然です(基本JOINは使わないし)
特に困る様な事も無さそうです。