__('否'), '1' => __('是')]; } public function getIsShowTextAttr($value, $data) { $value = $value ? $value : (isset($data['is_show']) ? $data['is_show'] : ''); $list = $this->getIsShowList(); return isset($list[$value]) ? $list[$value] : ''; } protected static function init() { self::afterInsert(function ($row) { $pk = $row->getPk(); $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]); }); } public function getFlagList() { return ['hot' => __('Hot'), 'new' => __('New'), 'recommend' => __('Recommend')]; } public function getStatusList() { return ['normal' => __('Normal'), 'hidden' => __('Hidden')]; } public function getFlagTextAttr($value, $data) { $value = $value ?: ($data['flag'] ?? ''); $valueArr = explode(',', $value); $list = $this->getFlagList(); return implode(',', array_intersect_key($list, array_flip($valueArr))); } public function getStatusTextAttr($value, $data) { $value = $value ? $value : (isset($data['status']) ? $data['status'] : ''); $list = $this->getStatusList(); return isset($list[$value]) ? $list[$value] : ''; } protected function setFlagAttr($value) { return is_array($value) ? implode(',', $value) : $value; } /** * 获取分类列表 * @param $ids * @return string */ public function getCategoryList($ids) { if(!$ids) { return ''; } $idArr = explode(',',$ids); $list = []; foreach ($idArr as $val) { $name = $this->where(['id'=>$val])->value('name'); if($name) { $list[] = $name; } } return implode(',',$list); } }