/** * @param $id */ public static function setCm($id) { $cm = Cm::findOne($id); $table = Cm::getTable($cm->tab_index, $cm->tab); self::$_tableName = $table; self::$_rules = self::getRulesFromString($cm->rules, $table); self::$_select_field = $cm->select_field; self::$_title_field = $cm->title_field; self::$_adv_field = $cm->adv_field; $fields = CmField::find()->where(['cm_id' => $id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->asArray()->all(); self::$_fields = self::getOptions($fields); return new static(); }
/** * Lists all Cm models fields. * @return mixed */ public function actionField($id) { $cm = Cm::findOne($id); if (Yii::$app->request->isPost) { $post = Yii::$app->request->post(); $act = ArrayHelper::getValue($post, 'act'); $fids = ArrayHelper::getValue($post, 'fid'); $sort = ArrayHelper::getValue($post, 'sort'); foreach ($fids as $k => $fid) { $fm = $this->findFieldModel($fid); $fm->scenario = 'sort'; $fm->sort = (int) $sort[$k]; $fm->save(); } } $dataProvider = new ActiveDataProvider(['query' => CmField::find()->where(['cm_id' => $id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC]), 'pagination' => ['pageSize' => 100]]); return $this->render('field', ['dataProvider' => $dataProvider, 'cm' => $cm]); }