从表中获取数据并在yii 2.0中显示gridview

问题描述:

我有一个控制器,我写了一个函数来获取表中的值。并即时传递给数据提供者。从表中获取数据并在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”的所有数据。这里涉及两个表。我如何在上面写这个查询?

您应该在定义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

非常感谢,它解决了。 –