foo
に属するクラスがありbar
ます。
私が持ってfoo
いる:
public function bar(){
return $this->belongsTo('App\Models\Bar');
}
のオブジェクトが$foo
ありbar_id
ますnull
。
内Foo
に、if ステートメントがあります。
if ($this->bar->id == 1){ echo "in if"; }
驚くことではありませんが、Trying to get property of non-object
エラーが発生しました。そこで、 への呼び出しを追加しましたisset
。しかし、if は常に false であるため、if 内のコードは評価されません。私の新しい場合は次のようになります。
if(isset($this->bar) && $this->bar->id == 1){ echo "in if"; }
を設定した後、bar_id
まだ には入っていませんif
。しようとするprint bar_id
と、値がnullではないことがわかります。なぜ私はこれに入らないのですか?