'array', 'goods_banners' => 'array' ]; public function goodsCategory() { return $this->hasOne(GoodsCategory::class, 'id', 'goods_category_id') ->field('id,name,picture'); } public function performanceRules() { return $this->hasOne(PerformanceRules::class, 'goods_id', 'id') ->field('goods_id,type,rate'); } public function getIsTypeAttr($value,$data) { if ($data['is_agent'] == 1 && $data['is_activity'] == 1) { return -1; } else if ($data['is_agent'] == 1 && $data['is_activity'] == 0) { return 1; } else if ($data['is_agent'] == 0 && $data['is_activity'] == 1) { return 2; } else { return 0; } } public function getLabelsAttr($value) { return $value?array_map(function($item){ return (int)$item; },explode(',',$value)):[]; } }