Laravel
ネットに転がっているチュートリアルやドキュメントは断片的な情報が多かったので、自分が実現したい要件に沿った実装はどうすれば良いのか、というところがわかるまで随分時間がかかった。 細かい事はそのうちサンプルの実装を作ってみようと思うけど、ポイ…
Laravel8 Fortify/Jetstream で、マルチログイン(ユーザーサイトと管理サイト別々に認証)を実現する方法について調べている。 結論から言うと、Laravel Fortify/Jetstreamは非対応。 なので、マルチログイン実現するためには、実装のカスタマイズが必要な…
Laravel Sail とは、Laravel 用のDockerコンテナを操作するコマンドラインインターフェースのことらしい。 とりあえず、初期設定だけ確認してみた。 まずは composer のアップデートを。 $ composer selfupdate 次にLaravelのプロジェクト作成。 $ composer…
SoftDeletesを適用したモデルクラスでクエリーを実行すると、 カラムが存在しない、という内容のSQLエラーが発生する。 >>> \App\Models\Comment::from('comments', 'c')->where('c.id', '<>', 1)->get() Illuminate\Database\QueryException with message '…
Laravel5.6以降は Str::uuid() でuuid(v4)を生成する事ができる。 use Illuminate\Support\Str; $uuid = (string) Str::uuid(); 独自に実装する必要もなく、別途ライブラリをインストール必要もないので楽ちん。 Laravel公式ドキュメント https://laravel.co…
ルーティング定義のどれにもあてはまらない URLにアクセスされた場合に下記が利用できる。 Route::fallback(function () { // }); laravel.com
httpsを強制 URL::forceScheme('https'); 指定したベースURLを強制 $root_url = 'https://example.com'; URL::forceRootUrl($root_url); そんでもって、上記は app/Providers/AppServiceProvier.phpのboot メソッドに書く。 のが一般的な模様。
DB::transaction()の実装は、ManagesTransactionsというtraitで実装されているようだ。 実装を見てみると、一つ目の引数で指定しているコールバック関数の返り値をそのまま返していることが分かる。 https://github.com/laravel/framework/blob/8.x/src/Illu…
Laravel6.0以降、ロギングに関して下記設定がデフォルトに設定されていた。 "laravel.log" にのみ書き込まれる dailyではないので、全ての年月のログが同一ファイルに書き込まれる ログ保持期間が14日 このままだと色々不都合がありまくるので、次の通り設定…
Laravelを使用していて、一時的にbladeテンプレートの参照ディレクトリを変更したい事があったので、その方法について調べた。 Laravel5〜6にて確認。それ以前のLarvelではやり方が異なる可能性があるので注意。 コントローラーの実装例 public function ind…
コントローラーのコンストラクターに処理を記述している場合に、 下記コマンドを実行するとコントローラーのコンストラクターに記述していた処理が実行されてしまう現象に遭遇しました。 php artisan route:list それならばと、コンソールコマンドで実行され…
現在の環境情報は下記で取得できる。 App::environment(); これを使えば、本番環境と開発環境で処理を分けたい場合の判定に利用できる。