2017-08-30 2 views
0

Warum mein relational 'Versuch, Eigenschaft von Nicht-Objekt' ??? id, propinsi_id, nāmaVersuch, Eigenschaft von Nicht-Objekt in retional Yii2 zu bekommen

public function attributeLabels() 
    { 
     return [ 
      'id' => 'ID', 
      'propinsi_id' => 'Propinsi ID', 
      'nama' => 'Nama', 
     ]; 
    } 

In Regler (:

I Modell Destination mit hasOne haben() AddressDistrict

public function getDestinationAddressDistrict(){ 
return $this->hasOne(\common\models\AddressDistrict::className(), ['id' => 'DISTRICT']); 
} 

In Modell AdressDistrict alle Felder zu modellieren actionIndex) Ich bekomme Modell Destination:

$modelDestination = new Destination; 

und ich gehe zu erstellen dann gehe ich zu _form ..

In _form Ich schreibe $modelDestination->destinationAddressDistrict->id ..und ich habe das mitteilen .. Jede Lösung?

+0

in erstellen haben Sie keinen gültigen Wert für die Beziehung .. – scaisEdge

Antwort

1

Ihr Problem ist, dass Sie eine neue Instanz von Destination erstellt haben, so dass alle Felder leer sind, so gibt es keine Möglichkeit, eine gültige Beziehung auf einen Wert von DISTRICT Basis zu bekommen, da DISTRICT noch nicht festgelegt wurde.

Sie haben zwei Möglichkeiten. Sie können entweder auf die Existenz einer gültigen Beziehung testen, so;

if ($modelDestination->destinationAddressDistrict){ 
    //Do something with the `$modelDestination->destinationAddressDistrict->id` 
} 

oder Sie können einen Standardwert von DISTRICT zuweisen, so dass eine gültige Beziehung erzeugt werden kann.

Verwandte Themen