为什么我的filter arrayhelper没有显示数据库yii2的值?

时间:2017-08-04 15:36:15

标签: php yii yii2 frameworks

在view / index文件中,显示我使用的模型i的所有数据

'filter'=>ArrayHelper::map(Mobile::find()->asArray()->all(),'id', 'mobile'),

它可以正常工作,但不是显示值。它只有一些空白字段。

这是我的观点/索引代码:

<?php

use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\ArrayHelper ;
use app\models\Mobile;

/* @var $this yii\web\View */
/* @var $searchModel app\models\MobileSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = 'Mobiles';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="mobile-index">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

    <p>
        <?= Html::a('Create Mobile', ['create'], ['class' => 'btn btn-success']) ?>
    </p>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            //'id',
                [


                'attribute'=>'id',
                'value'=>'id',
               //'filter'=>array("1"=>"open","2"=>"in progress","3"=>"closed")
                'filter'=>ArrayHelper::map(Mobile::find()->asArray()->all(),'id', 'mobile'),
            ],
            'sim_num',
            'network',
            'twog_network',
            'threeg_network',
            // 'fourg_network',
            // 'technology',
            // 'gps',
            // 'gateway_connection',
            // 'super_id',
            // 'camera',
            // 'resolusion_camera',
            // 'automatic_focus',
            // 'camera_flash',
            // 'video:ntext',
            // 'camera_others:ntext',
            // 'camera_selfie:ntext',
            // 'username',
            // 'body:ntext',
            // 'title:ntext',
            // 'state',
            // 'imageFile',
            // 'size',
            // 'weight',
            // 'inner_memory',
            // 'screen_size',
            // 'screen_type',
            // 'wifi_desc',
            // 'bluetooth',
            // 'batery',
            // 'bady_struct',
            // 'process',
            // 'other:ntext',
            // 'os',
            // 'gesture',
            // 'items',
            // 'speaker',

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
</div>

其中

<?php

   'attribute'=>'id',
                'value'=>'id',
                'filter'=>ArrayHelper::map(Mobile::find()->asArray()->all(),'id', 'mobile'),
            ],

?>

我再说一遍,它显示了点击每个字段时字段的数量和搜索的正确性以及一个不显示值的小问题......

在网站的检查元素中我们有:

<option value="2"></option>

我想在选项标签之间显示'2'。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

从评论中可以看出,这是解决问题的方法:

ArrayHelper::map(Mobile::find()->asArray()->all(),'id', 'id');