青本で学習しながら、開発しながらを繰り返してなんとかやっている。
私の場合はAS400(DB2)の開発にLaravelを使っているので、データベースに関しては神経を使っている。
ややこしいSQL文を書く場合はEloquentを使わず、あっさりSQLを書いている。というかSQLの方が楽。
でもこの違いって何だろうと思って、1つサンプルテーブルを用意してみた。
例えばこんなテーブルがあったとする。テーブル名はUDON。
商品(NAME) | 金額(PRICE) |
---|---|
天ぷらうどん | 430 |
きつねうどん | 460 |
うどん定食 | 550 |
から揚げ定食 | 550 |
カレーうどん | 450 |
これをDBクラスを使ってSQLで引っ張った場合、こんな感じ。
$TABLE = DB::select("SELECT * FROM HOGELIB.UDON");
こんどはクエリビルダで引っ張ってみる。なんか違うけどほとんど同じかな。
$TABLE = DB::table('HOGELIB.UDON')->get();
最後にモデルを作って、Eloquentで引っ張ってみる。同じデータとは思えないたった5レコードなのに凄い情報量。
$TABLE = UDON::get();
Eloquentはテーブルをクラスのように定義できると言っていたのだけど、このことなのだろうか。
いつか調べてみよう。
ごめんなさい。今のところ記事はこれだけです。わかったら追記します。
コメント