So, if in Yii 1.1.x your relations looked something like this:
/** * @return array relational rules. */ public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated below. return array( 'address' => array(self::BELONGS_TO, 'Address', 'address_id'), 'boxes'=>array(self::HAS_MANY,'Box', 'id'), ); }While in Yii 2.0 You would build the relationships separately:
public function getAddress() { return $this->belongsTo( Address::className(), 'address_id'); } public function getBoxes() { return $this->hasMany( Box::className(), 'id'); }This also allows us to do some more fine tuning with the way the relationships are handled. Lets say that I want those Boxes ordered by their inventory number. The old way would have been:
public function relations() { return array( 'address' => array(self::BELONGS_TO, 'Address', 'address_id'), 'boxes'=>array(self::HAS_MANY,'Box', 'id', 'order'=>'inventory_number'), ); }The Yii 2.0 method would be:
public function getBoxes() { return $this->hasMany( Box::className(), 'id')->orderBy('inventory_number'); }Once you stop looking for the relations() method, it's easy to move on and get your models migrated to 2.0!
No comments:
Post a Comment