255], [['desc'], 'string'], ['is_delete', 'default', 'value'=> AboutArticle::IS_DELETE_NO], [['name', 'desc', 'sort'],'required', 'on'=> [self::SCENARIO_ADD, self::SCENARIO_EDIT]], [['id'],'required', 'on'=> [self::SCENARIO_DEL, self::SCENARIO_EDIT]], ['id', 'string', 'on' => self::SCENARIO_DEL], ['search_key', 'string', 'on' => self::SCENARIO_LIST] ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'name' => 'Name', 'desc' => '文章详情', 'sort' => 'Sort', 'is_delete' => 'Is Delete', 'store_id' => 'Store ID', ]; } public function scenarios() { $scenarios = parent::scenarios(); return $scenarios; } public function saveAboutArticle() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario == self::SCENARIO_EDIT) { $model = AboutArticle::findOne(['id' => $this->id]); } else { $model = new AboutArticle(); } $model->attributes = $this->attributes; if (!$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->getErrorSummary(false)[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => '保存成功' ]; } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } public function searchAboutArticle() { $query = AboutArticle::find(); if ($this->is_have_page) { $query->where(['is_delete' => AboutArticle::IS_DELETE_NO, 'store_id' => $this->store_id])->orderBy("sort desc,id desc"); // 搜索 if ($this->search_key) { $query->andWhere(['like', 'name', $this->search_key]); } $list = pagination_make($query); foreach ($list['list'] as &$val) { $val['created_at'] = date('Y-m-d H:i:s', $val['created_at']); $val['updated_at'] = date('Y-m-d H:i:s', $val['updated_at']); } $data = [ 'data' => $list['list'], 'pageNo' => $list['pageNo'], 'totalCount' => $list['totalCount'] ]; } else { $data = $query->where(['is_delete' => AboutArticle::IS_DELETE_NO, 'store_id' => get_store_id()])->orderBy("sort desc,id desc")->asArray()->all(); foreach ($data as &$val) { $val['created_at'] = date('Y-m-d H:i:s', $val['created_at']); $val['updated_at'] = date('Y-m-d H:i:s', $val['updated_at']); } } return [ 'code' => 0, 'msg' => 'success', 'data' => $data ]; } public function delAboutArticle() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario !== self::SCENARIO_DEL) { return [ 'code' => 1, 'msg' => '删除失败' ]; } $model = AboutArticle::findOne(['id' => $this->id]); if($this->id == 1){ return [ 'code' => 1, 'msg' => "关于我们不能被删除" ]; } $model->is_delete = AboutArticle::IS_DELETE_YES; if (!$model || !$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->getErrorSummary(false)[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => '删除成功' ]; // 所有输入数据都有效 all inputs are valid } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } public static function getAboutArticleList(){ return AboutArticle::find()->where(['is_delete' => AboutArticle::IS_DELETE_NO])->orderBy(['sort desc, id desc'])->select('*')->asArray()->all(); } }