如何在yii2中执行简单的搜索表单/功能?

时间:2015-03-12 17:49:44

标签: php model-view-controller yii2

我想使用搜索名称字段,品牌字段和类别字段的表单进行搜索。

  1. 我应该使用帖子还是得到这种情况?
  2. 我应该如何/在哪里创建我的查询搜索模型,模型或控制器?
  3. 任何代码段都很棒。

    我认为我有以下内容:

    <?php $form = ActiveForm::begin(['id' => 'home-search','method' => 'get', 'action' => Url::to(['productitem/search'])]); ?>
    
        <?= $form->field($productitem, 'name')->textInput(array('placeholder' => 'What are you looking for?'))->label(false) ?>
    
        <?= $form->field($productitem, 'brand_id')->dropDownList(
    
            ArrayHelper::map(ProductBrand::find()->all(),'id','name'),
            ['prompt'=>'Select Brand']
    
        )->label(false) ?>
    
        <?= $form->field($productitem, 'category_id')->dropDownList(
    
            ArrayHelper::map(ProductCategory::find()->all(),'id','name'),
            ['prompt'=>'Select Department']
    
        )->label(false) ?>
    
        <div class="form-group search-button">
            <button type="submit" class="btn btn-primary" name="login-button">Search <i class="fa fa-lg fa-arrow-circle-o-right"></i></button>
        </div>
    
        <?php ActiveForm::end(); ?>
    

1 个答案:

答案 0 :(得分:2)

你的问题的答案:

  1. 我会使用get只是为了方便按下“后退”按钮。您根本没有更改数据库,因此GET应该提供足够的安全性/便利性
  2. 搜索模型应该在[模型]搜索中。 Yii2在普通模型之上有专门的搜索模型,为什么不把它们保存在那里?这正是他们的目的。
  3. 没有代码片段SO可以帮助您使用代码,通常不会为您编写代码。但是,有些人可能会来,勺子喂你的代码,所以你不会学到任何东西,所以享受。