hasOne(Image::class, [ 'id' => 'icon' ]); } public function getIconGray() { return $this->hasOne(Image::class, [ 'id' => 'icon_gray' ]); } public function fields() { $fields = parent::fields(); $fields['icon'] = function (Parameter $parameter) { return $parameter->relatedRecords['icon']; }; $fields['icon_gray'] = function (Parameter $parameter) { return $parameter->relatedRecords['iconGray']; }; return $fields; } /** * {@inheritdoc} */ public function rules() { return [ [['title', 'type'], 'required'], [['type'], 'integer', 'min' => 1, 'max' => 2], [['title'], 'string', 'max' => 255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'title' => 'Title', 'type' => 'Type (either 1 or 2)', 'icon' => 'Icon', 'icon_gray' => 'Gray icon', ]; } }