2017-08-04 3 views
0

は、私はそれが本当に動作しますが、値は表示されませ私のフィルタアレイヘルパーがデータベースyii2から値を表示しないのはなぜですか?モデルのすべてのデータを示す図/インデックスファイルに

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

を使用しました。空のフィールドがいくつかあります。ここ

は、私の見解/インデックスコードです:

各フィールドと小さな問題をクリックしたとき、私は、それはフィールドの数を示して繰り返し、正しい検索

<?php 

    'attribute'=>'id', 
       'value'=>'id', 
       '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> 

値を表示していないことを確認してください。

サイトの検査項目ではh AVE:

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

と私はショー '2' オプションタグの間をしたい。..

私を助けてください。コメントからも

+0

はオプションで、フィルタは、idの携帯電話ではなく値の値を表示する必要があります。2は、IDの値以上でありますモバイルの価値?? – scaisEdge

+0

2はidの値です – areff

+0

私には本当にはっきりしませんが、id値をオプションに入れたいのであれば、このようにマップすれば十分です:ArrayHelper :: map(Mobile :: find() - > asArray( ) - > all()、 'id'、 'id'); – Masiorama

答えて

0

、ここにあなたの問題を解決するには:

ArrayHelper::map(Mobile::find()->asArray()->all(),'id', 'id'); 
関連する問題