/** * Creates data provider instance with search query applied * * @param array $params * @param string $formName the form name to be used for loading the data into the model. * * @return ActiveDataProvider */ public function search($params, $formName = null) { $query = DpAdminMenuUrlRule::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params, $formName); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['rule_id' => $this->rule_id, 'url_id' => $this->url_id, 'status' => $this->status]); $query->andFilterWhere(['like', 'param_name', $this->param_name])->andFilterWhere(['like', 'rule', $this->rule])->andFilterWhere(['like', 'note', $this->note]); return $dataProvider; }
/** * 更新状态 * * @return array */ public function actionUpdateStatus() { $ids = \Yii::$app->request->post('ids'); $status = intval(\Yii::$app->request->post('status')); if ($status != 0) { $status = 1; } foreach (StringHelper::explode($ids, ',', true, true) as $id) { $obj = DpAdminMenuUrlRule::find()->findByRuleId($id)->one(); if ($obj) { $obj->status = $status; $obj->save(); } } return $this->renderSuccess('状态更新成功'); }
/** * 获取指定菜单id数组url规则记录 * * @param array $menuIdArr 菜单id数组 * @return array */ public static function getUrlRuleByMenuIdArr($menuIdArr) { $urlRuls = []; $urlIdArr = DpAdminMenuUrlRelation::getUrlIdArrByMenuIdArr($menuIdArr); foreach ($urlIdArr as $urlId) { $url = static::find()->findByUrlId($urlId)->active()->asArray()->one(); if ($url) { $urlRuleAll = DpAdminMenuUrlRule::find()->active()->findByUrlId($urlId)->all(); $rule = []; foreach ($urlRuleAll as $item) { $rule[$item['param_name']] = $item['rule']; } $urlRuls[] = ['route' => $url['route'], 'method' => $url['method'], 'enable_rule' => $url['enable_rule'], 'rule' => $rule]; } } return $urlRuls; }