Laravelのoptional補助関数
Laravelの新しいバージョンでは、
この方法の適用シーンは何ですか?コードをたくさん書くと、次のようなエラーメッセージに遭遇することがあります.
これは、実際には、私たちのコードにオブジェクトが空であるため、メソッドを呼び出したり、プロパティを取得したりすると、上記のエラーメッセージが表示されます.例を挙げてみましょう
その後、
データベースに
だから、この時、
ユーザーのアドレス情報を取得するだけでいいです.
このとき、
公衆番号codecastsに注目し、PHP Laravelスキルを毎日更新
optional()
という非常に有用な補助方法があります.この方法の適用シーンは何ですか?コードをたくさん書くと、次のようなエラーメッセージに遭遇することがあります.
Call to a member function on null object...
これは、実際には、私たちのコードにオブジェクトが空であるため、メソッドを呼び出したり、プロパティを取得したりすると、上記のエラーメッセージが表示されます.例を挙げてみましょう
User
のシステムでは、Profile
のModelファイルもありますが、User
はProfile
(Profile
にユーザーのアドレス情報が含まれています)を持っています.public function profile(){
return $this->hasOne(Profile::class);
}
その後、
User
の情報ページでは、User
のアドレスを次のコードで取得したいと考えています.$user->profile->address;
データベースに
User
に対応するProfile
がなければ、このとき、記事で述べ始めたようなエラーが発生します.だから、この時、
optional()
が役に立ちますユーザーのアドレス情報を取得するだけでいいです.
optional$user->profile)->address
このとき、
profile
がNull値(null
)であっても、この行のコードはエラーを報告せず、空の文字列が表示されます.とても役に立つのではないでしょうか.optional()
という補助関数があれば、多くの類似のコードの中で、このオブジェクトがnull
になるかどうか分からないときは、optional()
を加えて保険をかけることができます.公衆番号codecastsに注目し、PHP Laravelスキルを毎日更新