[Laravel] optionalヘルパの使いどころ
Laravel には optional()
というヘルパがある
optional(User::find(1))->name;
のように使うと、User::find(1)
が null
の場合は普通エラーになるところだが null
を返してくれるようになる。
三項演算子や null 合体演算子を使うならそれぞれ
is_null(User::find(1)) ? null : User::find(1)
User::find(1)->name ?? null
となるだろう。こうして比べてみると、optional()
を使うとチェーンの中で処理が完結していて読みやすいことがよくわかる。
ただ、値が存在しなかった場合に null
以外の値を返すことができないので、null
以外の値を返したいときは ??
を使う。
User::find(1)->name ?? 'guest'