2016-07-15 3 views
1

私はテーブルから値を取得する関数を書きました。それをデータ提供者に渡す。テーブルからデータを取り出し、yii 2.0のgridviewを表示します。

public function actionBorrower() 
{ 

    $user = User::find()->all(); 

    $dataProvider= new ActiveDataProvider([ 
    'user' => $user, 
    'pagination' => false, 
    ]); 

    return $this->render('borrower', [ 
    'dataProvider'=>$dataProvider]); 
} 

は、今私はグリッドビューで表示するビューファイルでは、データベース内のテーブルには、私はそれらのすべてを取得し、それを一つずつ表示したい多くのユーザーを持っています。

<?php 

use yii\helpers\Html; 
use yii\grid\GridView; 

$this->title = 'Users'; 
$this->params['breadcrumbs'][] = $this->title; 
?> 
<section style="margin-top:60px;display:inline-block;height:640px;width:100%;padding:15px 0 0 15px;" class="wrapper"> 
<div class="user-role-index"> 

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

    <?= GridView::widget([ 
     'dataProvider' => $dataProvider, 

     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'id', 
      'user_id', 
      //'role_id', 


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

</div> 
</section> 

私はイムが間違って行くところがないいけない、しかし、多少の誤差は以下のように予定されている - 未知のプロパティを設定:親切にすべての、私はyii2する新たなんだのYii \データ\のActiveDataProviderを::ユーザー

私はこれを解決するために私を助けます..ありがとう。

USER_TYPEテーブルのuser_typeが "1"のUSERテーブルからすべてのデータをフェッチしたいと考えています。これには2つのテーブルが含まれています。上記のクエリをどのように書くのですか?

答えて

2

あなたはに、あなたの定義activedataproviderを変更する必要があります。

$dataProvider= new ActiveDataProvider([ 
    'query' => User::find(), 
    'pagination' => false, 
]); 

それとも、すべてのuser前に作成するデータプロバイダを取得したい場合、あなたはArrayDataProvider

$provider = new ArrayDataProvider([ 
    'allModels' => User::find()->all(), 
    'pagination' => false, 
]); 

使用した文書を参照してくださいする必要がありますhttp://www.yiiframework.com/doc-2.0/yii-data-activedataprovider.htmlhttp://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html

Goodluckと楽しい!

+0

私の答えを削除することは、ここで同じことを言う:)! – Julqas

+0

ありがとうございます。 Goodluckと楽しいことがあります:) – ThanhPV

+0

ありがとう、そんなに、それは解決されます。 –

関連する問題