/** * 角色/模块列表 * 1.角色没有子节点没有父节点, 模块有子节点也有父节点 * * @return ActiveDataProvider */ public function roleList($hasChild = null) { $query = Auth_item::find(); $query->andFilterWhere(['=', 'type', '1']); if (!is_null($hasChild)) { if ($hasChild == 1) { //角色 $query->andFilterWhere(['not in', 'name', Auth_item_child::find()->select('child')]); } else { if ($hasChild == 0) { //模块 $query->andFilterWhere(['in', 'name', Auth_item_child::find()->select('parent')]); $query->andFilterWhere(['in', 'name', Auth_item_child::find()->select('child')]); } } } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 8]]); return $dataProvider; }