YII2 - 如何从表单中获取字段值以进行搜索


YII2 - How to get a field value from form for search

我是 Yii2 和 MVC 的新手,所以认为问题的答案很简单,但没有从文档和教程中找到答案。因此,我需要从数据库表中选择具有相应 id 的记录。因此,这里是我遵循的步骤:

1)我为相应的表创建了一个带有CRUD生成器的模型(客户报告),并将其添加到视图中,其中:

use app'models'CustomerReport;

2)在视图页面上,我对其进行了测试

$customer_data = CustomerReport::findone(['id' => 2]);

这对我来说很好用

3)我在视图上添加了一个搜索表单:

<?php $form = ActiveForm::begin(['id' => 'customer-report']); ?>
                <?= $form->field($model, 'id') ?>
                <div class="form-group">
                    <?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
                </div>
            <?php ActiveForm::end(); ?>

但是我找不到通过表单按 id 执行搜索的方法。据我了解,我需要提供搜索字段值

$customer_data = CustomerReport::findone(['id' => VALUE FROM ACTIVE FORM]);

控制器知道视图返回的对象中的内容 搜索表单

$customer_data = CustomerReport::findone(['id' => $model->id]);

在您的文件中,这些表单被 POST (可能的 XyzController.php)

if(isset($_POST['CustomerReport']['id'])  // after form get POSTed
    $customer_data = CustomerReport::findone(['id' => $_POST['CustomerReport']['id']]);