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ではないことがわかります。なぜ私はこれに入らないのですか?