yii2中a连接用post方法请求action却执行了三遍
程序员文章站
2022-04-16 08:29:09
...
现在情况是,我点了一下
a
链接,是 post
请求,参数是 get
传递的, actionTripDays
方法执行了三遍,表里被插入了三条数据,应该只执行一次,插入一条数据的,这是为毛呢??求帮助
但我在,if
里,dump($position)
却只有一次输出。
+ 新增后一天
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)
却只有一次输出。
+ 新增后一天
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元素设定请求方式的