从表中获取数据并在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.html和http://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html
好运,玩得开心!
删除我的答案,因为它在这里说同样的事情:)! – Julqas
谢谢。 Goodluck,玩得开心:) – ThanhPV
非常感谢,它解决了。 –