簡體   English   中英

YII2-index.php中的列過濾器不起作用

[英]YII2 - Column filter in index.php won't work

我已經修改了index.php以顯示名稱而不是ID。

這是我的訂單/ index.php

<?php

use yii\helpers\Html;
use yii\grid\GridView;
use yii\widgets\Pjax;
use yii\helpers\ArrayHelper;
use frontend\models\Statuses;


$this->title = Yii::t('app', 'Ordini');
$this->params['breadcrumbs'][] = $this->title;
$user = Yii::$app->user->identity;
?>
<div class="orders-index">

    <h1><?= Html::encode($this->title) ?></h1>

    <p>
        <?php 
            if ($user->role == 10 || $user->role > 40)
                echo Html::a(Yii::t('app', 'Nuovo'), ['create'], ['class' => 'btn btn-success']);
        ?>
    </p>
<?php Pjax::begin(); ?>   

 <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            ['attribute'=>'customer_id', 'value'=>'CustomersName',],
            ['attribute'=>'product_id', 'value'=>'ProductsName',],
             'date',
             [
                 'attribute'=>'status_id', 
                 'value'=>'StatusesName',
                 'filter' => Html::activeDropDownList($searchModel, 'status_id', ArrayHelper::map(Statuses::find()->asArray()->all(), 'id', 'name'),['class'=>'form-control','prompt' => 'Select Category']),
             ],

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
<?php Pjax::end(); ?></div>

過濾器不起作用。 我嘗試使用下拉菜單或僅嘗試數字但未成功。 我不知道如何檢查失敗的地方!

在OrdersSearch中? 在模型還是控制器中?

謝謝

您不必為下拉字段提供完整的代碼。 這應該足夠了:

'filter' => ArrayHelper::map(Statuses::find()->asArray()->all(), 'id', 'name'),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM