【laravel】便利なOptionalヘルパー関数でエラー解消

Trying to get property of non-object

オブジェクトのプロパティなどが存在しない場合などに起きる

Trying to get property of non-object エラー

その時に便利なのが、optional関数

optional関数

<p>{{ optional($user->post)->title }}</p>
public function getItemId($title)
{
 $post = Post::where('title', 'LIKE', "%$title%")->first();
 return optional($post)->id;
}

date系で必須項目じゃない場合、formatを使っていると空の場合にエラーが起きる

@if($user->posted_date)
 <p>{{ $user->posted_date->format('Y-m-d') }}</p>
@endif

if文を使うよりoptional関数を使うと簡潔で綺麗にコードが書ける

<p>{{ optional($user->posted_date)->format('Y-m-d') }}</p>

存在しない場合は、nullが返ってくるのでエラーも起きない

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA