案件で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モデルの取得はスマートな印象を受けました。
まだまだ序の口でいろいろありそうですが、実務で理解を深めていきたいと思います。