Laravel
https://laravel.com/
非公式和訳:https://readouble.com/laravel/11.x/ja/installation.html
PHPにおける重量級Webフレームワーク
参考資料
おすすめリンク集
リファレンス
ログ出力
\Log::debug("debug ログ!");
ヘルパーを使う場合 logger("debug ログ!");
コントローラの作成
https://readouble.com/laravel/9.x/ja/controllers.html
モデルの使い方
https://readouble.com/laravel/9.x/ja/eloquent.html
https://readouble.com/laravel/9.x/ja/eloquent-relationships.html
Seederの作成:php artisan make:seeder {className}
リレーション先を含めた検索(ジョブが戦士である仲間を探す時とか)
whereHasを使う。
code:php
Companion::with('job')->whereHas('job' function($query) {
$query->where('type', 'warrior');
});
ビュー周り
https://readouble.com/laravel/9.x/ja/blade.html
バリデーション
日本語化
https://qiita.com/samuraibrass/items/d71c08e144dbbf98e348
組み込みのバリデーションルール
https://readouble.com/laravel/9.x/ja/validation.html#available-validation-rules
言語拡張(Railsで言うActiveSupport)
https://readouble.com/laravel/9.x/ja/contracts.html
なんか思い違いをしてる気がする
https://readouble.com/laravel/9.x/ja/helpers.html
REPL
php artisan tinker
https://readouble.com/laravel/9.x/ja/artisan.html
Eloquentが作成したSQLをログに出す
https://qiita.com/ucan-lab/items/753cb9d3e4ceeb245341
サービスプロバイダの登録状況や、.envの内容がキャッシュされるらしく、削除しないと反映されなかった
Laravel キャッシュクリア系コマンドなど
ソースコード
https://github.com/laravel
フレームワーク側のソースは、https://github.com/laravel/framework に入ってる
LaravelのDI・サービス構造(サービスコンテナとサービスプロバイダ)
Laravel向けサービス層の作り方
つまづいた事メモ
レコード追加すると、プライマリキーが化ける
https://qiita.com/Kra8/items/bc2b99ab7ab9880cecf8
laravelのModelは、auto_incrementされることが前提となっているようで、auto_incrementしないテーブルを作成した場合、レコードを追加すると、そのインスタンスのプライマリキーが0に化ける。
auto_incrementしないテーブルは、public $incrementing = false; を定義すること。
よりツッコンだ話として、$id = $query->getConnection()->getPdo()->lastInsertId($sequence);は、SQLでSELECT LAST_INSERT_ID();になるらしく、この時、auto_incrementせずにレコード追加すると、このSQLの結果が0になる
クエリビルダのクローン
$clonedBuilder = clone $builder;