我有這個在我的模型稱爲B錯誤:Yii2功能使上創建
public function getA() {
return $this->hasOne(\app\models\A::className(), ['id' => 'A_Id']);
}
public function getDispName() {
return $this->a->attr . ' ' . $this->attr . ' ' . $this->attr2;
}
工作一切正常,直到我去創建。然後我得到以下「錯誤」:
PHP的通知 - 警予\基地\ ErrorException試圖讓非對象
的財產作爲一種變通方法我已經做到了這一點:
public function getDispName() {
if (is_object($this->a)) {
return $this->a->attr . ' ' . $this->attr . ' ' . $this->attr2;
}
}
我不確定這是否是一個好的解決方案,或者爲什麼我只在創建時纔會得到這個「通知」,但我想正確理解並執行該操作。我不希望這會在其他地方造成問題。也許我會錯過其他基本和重要的知識。如果你有任何想法,我會很感激聽到它。謝謝。