現在情況是,我點了一下
a
連結,是
post
請求,參數是
get
傳遞的,
actionTripDays
方法執行了三遍,表裡被插入了三條資料,應該只執行一次,插入一條資料的,這是為毛呢??求協助
但我在,if
裡,dump($position)
卻只有一次輸出。
$logId, 'position' => 'end']) ?>" class="add-one-day" data-method="post" rel="nofollow">+ 新增後一天public function actionTripDays($id){ $model = $this->findModel($id); // 最開始是這樣寫的,執行了兩遍 if (!empty($position = Yii::$app->request->get('position', ''))) // 變成下面這樣乾脆執行了三遍 if (Yii::$app->request->getIsPost() && !empty($position = Yii::$app->request->get('position', ''))) { // dump(Yii::$app->request->get('position', '')); // exit; TravelDay::addDay($position, $model->id); } else { TravelDay::initDay($model->id); } $days = TravelDay::find() ->where(['travel_log_id' => $model->id]) ->orderBy(['order' => SORT_ASC]) ->all(); $images = TravelImg::find() ->where(['travel_log_id' => $model->id]) ->orderBy(['order' => SORT_ASC]) ->all(); return $this->render('trip-days', [ 'images' => $images, 'days' => $days, 'logId' => $model->id, ]);}
回複內容:
現在情況是,我點了一下a
連結,是 post
請求,參數是 get
傳遞的, actionTripDays
方法執行了三遍,表裡被插入了三條資料,應該只執行一次,插入一條資料的,這是為毛呢??求協助
但我在,if
裡,dump($position)
卻只有一次輸出。
$logId, 'position' => 'end']) ?>" class="add-one-day" data-method="post" rel="nofollow">+ 新增後一天public function actionTripDays($id){ $model = $this->findModel($id); // 最開始是這樣寫的,執行了兩遍 if (!empty($position = Yii::$app->request->get('position', ''))) // 變成下面這樣乾脆執行了三遍 if (Yii::$app->request->getIsPost() && !empty($position = Yii::$app->request->get('position', ''))) { // dump(Yii::$app->request->get('position', '')); // exit; TravelDay::addDay($position, $model->id); } else { TravelDay::initDay($model->id); } $days = TravelDay::find() ->where(['travel_log_id' => $model->id]) ->orderBy(['order' => SORT_ASC]) ->all(); $images = TravelImg::find() ->where(['travel_log_id' => $model->id]) ->orderBy(['order' => SORT_ASC]) ->all(); return $this->render('trip-days', [ 'images' => $images, 'days' => $days, 'logId' => $model->id, ]);}
我不是來回答,我是想問 yii 是怎麼實現給a元素設定請求方式的