|
|
@@ -133,9 +133,37 @@ class AdController extends BaseController
|
|
|
}
|
|
|
// 获取全部分类
|
|
|
$allLocation = AdLocation::getAllLocation();
|
|
|
- $allArticle = Article::findAllAsArray();
|
|
|
+
|
|
|
+ // 管理员关联国家的文章
|
|
|
+ $admin = Admin::findOne(Yii::$app->user->id);
|
|
|
+ $roleId = $admin->ROLE_ID;
|
|
|
+ if ($roleId == \Yii::$app->params['superAdminRoleId']) {
|
|
|
+ $countries = Countries::find()->asArray()->all();
|
|
|
+ } else {
|
|
|
+ // 关联国家
|
|
|
+ $countries = Countries::find()
|
|
|
+ ->select('COU.ID, COU.CODE, COU.NAME')
|
|
|
+ ->from(['COU' => Countries::tableName()])
|
|
|
+ ->join('INNER JOIN', AdminCountry::tableName() . ' AS ADL', 'ADL.COUNTRY_ID = COU.ID')
|
|
|
+ ->where(['ADL.ADMIN_ID' => $admin->ID])
|
|
|
+ ->asArray()
|
|
|
+ ->all();
|
|
|
+ }
|
|
|
|
|
|
- return static::notice(['allLocation'=>$allLocation, 'allArticle' => $allArticle]);
|
|
|
+ // 关联文章,关联国家表
|
|
|
+ $allArticle = Article::find()
|
|
|
+ ->from(['ART' => Article::tableName()])
|
|
|
+ ->leftJoin(['COU' => Countries::tableName()], 'COU.ID = ART.COUNTRY_ID')
|
|
|
+ ->select('ART.ID,ART.TITLE,ART.COUNTRY_ID,COU.NAME AS COUNTRY_NAME')
|
|
|
+ ->andFilterWhere(['ART.COUNTRY_ID' => array_column($countries, 'ID')])
|
|
|
+ ->asArray()
|
|
|
+ ->all();
|
|
|
+
|
|
|
+ return static::notice([
|
|
|
+ 'allLocation'=>$allLocation,
|
|
|
+ 'allArticle' => $allArticle,
|
|
|
+ 'countries' => $countries,
|
|
|
+ ]);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -184,6 +212,7 @@ class AdController extends BaseController
|
|
|
'oneData' => $oneData,
|
|
|
'allLocation' => $allLocation,
|
|
|
'allArticle' => $allArticle,
|
|
|
+ 'countries' => $countries,
|
|
|
]);
|
|
|
}
|
|
|
|