Php 在URL中筛选复制参数
我使用数据提供程序和搜索模型为数据创建筛选表单,但当我多次单击“提交”按钮时,在url中复制筛选参数时出现问题 型号的公寓搜索Php 在URL中筛选复制参数,php,yii2,Php,Yii2,我使用数据提供程序和搜索模型为数据创建筛选表单,但当我多次单击“提交”按钮时,在url中复制筛选参数时出现问题 型号的公寓搜索搜索方法: public function search($params) { $query = Apartments::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); if (!($this->load($para
搜索方法:
public function search($params)
{
$query = Apartments::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
$query->andFilterWhere([
'rooms' => $this->rooms,
]);
return $dataProvider;
}
public function actionIndex()
{
$searchModel = new ApartmentsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->get());
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
}
控制器actionIndex
方法:
public function search($params)
{
$query = Apartments::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
$query->andFilterWhere([
'rooms' => $this->rooms,
]);
return $dataProvider;
}
public function actionIndex()
{
$searchModel = new ApartmentsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->get());
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
}
使用ListView小部件查看:
<?= $this->render('_filter', ['searchModel' => $searchModel]); ?>
<?= ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_list',
'options' => [
'tag' => 'div',
'class' => 'apartments-list',
],
'layout' => '{summary}{items}{pager}',
'summary' => 'Показано квартири: <b>{begin}-{end}</b> з <b>{totalCount}</b>.',
'summaryOptions' => [
'tag' => 'div',
'class' => 'summary',
],
'itemOptions' => [
'tag' => 'div',
'class' => 'apartment-item',
],
]); ?>
当我第二次单击时,我看到带有复制参数的url:
http://localhost/?ApartmentsSearch[rooms]=2&ApartmentsSearch[rooms]=2
我不想复制url中的参数,我需要更改任何参数的值
你能帮我吗?解决了
在活动窗体中,我忘记添加操作
属性:
<?php $form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
]); ?>
<?= $form->field($searchModel, 'rooms') ?>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>
<?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?>
</div>
<?php ActiveForm::end(); ?>