コード例 #1
0
ファイル: StealController.php プロジェクト: denisddm/stealer
 public function actionBindCats()
 {
     \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
     $request = \Yii::$app->request->post();
     $dgis_cat = Category2gis::findOne($request['dgis_cat']);
     if (!$dgis_cat) {
         return ['error' => 'Error! 2gis category not found!'];
     }
     $binded_cats_all = $dgis_cat->cats2dis ? explode(',', $dgis_cat->cats2dis) : [];
     $binded_cats = Category2dis::findAll(['parentid' => $request['ddis_root'], 'catid' => explode(',', $dgis_cat->cats2dis)]);
     $binded_cats_ids = [];
     foreach ($binded_cats as $cat) {
         $binded_cats_ids[] = $cat->catid;
     }
     $result_binded_cats_id = array_diff($binded_cats_all, $binded_cats_ids);
     $need_to_bind = isset($request['cats']) ? $request['cats'] : [];
     $result = array_merge($result_binded_cats_id, $need_to_bind);
     $dgis_cat->cats2dis = count($result) ? implode(',', $result) : null;
     $dgis_cat->save();
     return ArrayHelper::map(Category2dis::findAll(['catid' => $result]), 'catid', 'catname');
 }