我对Yii 2比较陌生。我用的是高级结构
我需要在不使用模型的情况下在视图中显示自定义sql结果,因为我想显示sql视图。
index.php
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'COD_RISORSA',
[
'label' =>"Nome",
'attribute' => 'NOME',
'value'=>function($data){
return $data["NOME"];
}
],
'COGNOME',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
VRisorseController.php
public function actionIndex()
{
$totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM v_risorse')->queryScalar();
$dataProvider = new SqlDataProvider([
'sql' => 'SELECT * FROM v_risorse',
'totalCount' => $totalCount,
'sort' =>false,
'pagination' => [
'pageSize' => 10,
],
]);
return $this->render('index', [
'dataProvider' => $dataProvider,
]);
}
位于以下URL:http://localhost/advanced/frontend/web/index.php?r=vrisorse%2Findex
我有错误:
不支持- yii\base\NotSupportedException消息格式'number'只支持整数值。您必须安装PHP intl扩展才能使用此功能。1.在C:\xampp\htdocs\advanced\vendor\yiisoft\yii2\i18n\MessageFormatter.php中
我试图注解gridview中的所有列,错误似乎与$dataProvider
变量有关'COD_RISORSA','NOME', 'COGNOME'
是选择的列。
5条答案
按热度按时间rt4zxlrg1#
你需要安装PHP intl扩展。我有同样的错误
下面给出的是我在控制器中的工作代码
下面是我的观点
ldioqlga2#
我遇到了同样的问题,这很容易解决。你需要如下分配DB:
xiozqbni3#
文件:https://www.yiiframework.com/doc/guide/2.0/en/output-data-providers#sql-data-provider
示例:
创建$dataProvider(控制器):
创建网格视图(视图):
icomxhvb4#
您需要取消注解
扩展名= php_mysql. dll
和
扩展名= php_mysqli. dll
在你的php.ini里,如果可以的话,让我知道
dzhpxtsq5#
对这个基本问题最简单的解决方法是:
使用SqlDataProvider和GridView参数将它变得尽可能复杂。