Laravel
参考資料
ログ出力
\Log::debug("debug ログ!");
ヘルパーを使う場合 logger("debug ログ!");
コントローラの作成
モデルの使い方
Seederの作成:php artisan make:seeder {className}
リレーション先を含めた検索(ジョブが戦士である仲間を探す時とか)
whereHasを使う。
code:php
Companion::with('job')->whereHas('job' function($query) {
$query->where('type', 'warrior');
});
ビュー周り
バリデーション
日本語化
組み込みのバリデーションルール
なんか思い違いをしてる気がする
REPL
php artisan tinker
Eloquentが作成したSQLをログに出す
サービスプロバイダの登録状況や、.envの内容がキャッシュされるらしく、削除しないと反映されなかった
ソースコード
つまづいた事メモ
レコード追加すると、プライマリキーが化ける
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;