Laravelの開発Tips
- bladeで変数の一覧ダンプしたい時
- URLが自動改行されない時
- empty/issetなどのtrue/false条件がわからない時
- bladeで改行したい時
- seedで改行コードが入らない場合
- migrateでエラーが発生
- seedが実行できない
- 特定のキーを使ったArrayListを取得する
- ログインした際にログインしたページにリダイレクトする
- メール送信できない
- 実行したSQLクエリーを取得したい時
- Laravelインストール時にバージョンを指定したい時
- リクエストヘッダーの取得を行いたい時
bladeで変数の一覧ダンプしたい時
{{ dd(get_defined_vars()['__data']) }}
URLが自動改行されない時
word-break: break-all;
empty/issetなどのtrue/false条件がわからない時
bladeで改行したい時
{!! nl2br(e($content)) !!}
seedで改行コードが入らない場合
「'」ではなく「"」で囲む。
'content' => "aaa\nbbb"
migrateでエラーが発生
Laravel 5.5 - 1071 specified key was too long max key length is 767 bytes - HDTuto.com
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique ` users_email_unique`(`email`))
app/Providers/AppServiceProvider.phpに以下を追加。
public function boot() { Schema::defaultStringLength(191); }
seedが実行できない
ReflectionException : Class XXXTableSeeder does not exist
以下を実行する必要がある。
$ composer dump-autoload
特定のキーを使ったArrayListを取得する
php - Eloquent column list by key with array as values? - Stack Overflow
$users = User::all()->keyBy('name')->toArray();
ログインした際にログインしたページにリダイレクトする
【Laravel】ログインした後、固定ページに飛ばさずにログインボタンを押した画面に戻りたい。
app/Http/Controllers/Auth/LoginController.phpに以下を追加。
public function showLoginForm() { session(['url.intended' => $_SERVER['HTTP_REFERER']]); return view('auth.login'); }
メール送信できない
Stream Socket Enable Crypto Error Laravel
'stream' => [ 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true, ], ],
実行したSQLクエリーを取得したい時
DB::enableQueryLog(); # SQL here dd(DB::getQueryLog());
Laravelインストール時にバージョンを指定したい時
$ composer create-project --prefer-dist laravel/laravel projectname "5.5.*"
リクエストヘッダーの取得を行いたい時
$header = $request->header('HeaderName');