Laravel学習中です・・・

0
737

案件でLaravelを使用することになり、ローカル環境で動かしながら学習しております・・・。
今のところ触ってみて、以下の点がビックリポイントでした。

◯artisanコマンドがすごく多彩
コマンド一発でルーティングの可視化や、マイグレーションの実行、Seederの投入等、Model,Controller,migrationのスケルトンまで作ってくれちゃいます。

◯コマンドがとてもスマートな印象
例えば以下、昔々(今もやりますが)DBのテーブルを作成する場合に

CREATE TABLE USERS
    ( id int, name varchar(10), mail_address varchar(10), tel  varchar(11), address01 varchar(30),  address02 varchar(30) )
CHARACTER SET utf8 COLLATE utf8_general_ci;

とSQLをつらつらと打つのに比べて、migrationファイルに例えば以下のように記載しておいて

public function up() {
    Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name')->comment('お名前');
        $table->string('mail_address')->comment('メールアドレス');
        $table->string('tel')->comment('電話番号');
        $table->string('address01')->comment('住所01');
        $table->string('address02')->comment('住所02');

        $table->timestamps();
    });
}

コマンド一発

php artisan migrate

でテーブルができてしまいます。

テーブルのデータを取得するときも、昔々(しつこいですが、今もやりますが)だと

SELECT * FROM USERS WHERE ADDRESS01 = '東京都' ORDER BY ID ASC;

それが、Modelに定義している内容からControllerでデータ取得する場合

$users = User::where('address01', '東京都')
             ->orderBy('id', 'asc')
             ->get()->toArray();

で結果が配列で取得できてしまいます。Eloquentモデルの取得はスマートな印象を受けました。

まだまだ序の口でいろいろありそうですが、実務で理解を深めていきたいと思います。