2016-07-15 110 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> 

我不沒有在那裏我去錯了,但有些錯誤都上來了像 - 設置未知屬性:警予\ DATA \ ActiveDataProvider ::用戶

我是新來yii2,請任何一個幫我解決這個問題..謝謝。

我想從USER表中提取USER_TYPE表中user_type爲「1」的所有數據。這裏涉及兩個表。我如何在上面寫這個查詢?

回答

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

好運,玩得開心!

+0

刪除我的答案,因爲它在這裏說同樣的事情:)! – Julqas

+0

謝謝。 Goodluck,玩得開心:) – ThanhPV

+0

非常感謝,它解決了。 –

相關問題