AS400/IBMi Laravel DBクラスとクエリビルダとEloquentをそれぞれprint_rしてみた

IT関連

青本で学習しながら、開発しながらを繰り返してなんとかやっている。

 

私の場合は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はテーブルをクラスのように定義できると言っていたのだけど、このことなのだろうか。

 

いつか調べてみよう。

 

ごめんなさい。今のところ記事はこれだけです。わかったら追記します。

コメント

タイトルとURLをコピーしました