php - CArrayDataProvider 显示空值

标签 php mysql yii

我对 CArrayDataProvider 明显返回空值有疑问。 当我输入 SQL(见下文)时,在 mysql 上,我得到 7 条记录,我的 View 显示 7 行,但值为空。

这是必要的代码,如果您需要更多,请询问我。

后置 Controller 的actionIndex

$connection=Yii::app()->db;
        $user_id = Yii::app()->user->id;
        $sql = 'SELECT * FROM post 
                LEFT JOIN comment ON post.id = comment.post_id
                AND comment.user_id =:user_id
                LIMIT 0 , 30 ';
        $command=$connection->createCommand($sql);
        $command->bindParam(':user_id', $user_id,PDO::PARAM_STR);

        $rawData = $command->queryAll();

        $dataProvider=new CArrayDataProvider($rawData, array(
                    'id'=>'post',
                    'sort'=>array(
                    'defaultOrder' => 'post.created',
                    ),
                    'pagination'=>array(
                    'pageSize'=>10,
                    ),
        ));

$this->render('index',array(
            'dataProvider'=>$dataProvider,
            'category_id'=>$category_id,
        ));
    }

查看索引

<?php $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_view',
)); ?>

并查看_view

<?php echo CHtml::encode(Post::model()->subject); ?>

有人能看出问题出在哪里吗?

预先感谢您的帮助。

最佳答案

在您的_view.php中使用它,而不是您正在做的任何事情:

<?= CHtml::encode($data['subject']); ?>

如果仍然失败,请检查$dataProvider是否确实有记录:

<?php var_dump($dataProvider->data); ?>

关于php - CArrayDataProvider 显示空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153527/

相关文章:

yii 框架 View 中的 javascript 验证电子邮件

python - 正则表达式 MySQL/Python

mysql - yii CDbCriteria 未找到连接列

php - 如何展示多个分类以及每个分类下的产品?

php - 如何在表的同一列的多行中从单个表单插入多个同名数据

php - 带参数的 Swift PHP 文件上传

php - 存储过程在 php/mysql 世界中是行不通的吗?

php - 错误: Unknown column 'x' in 'field list'

c# - 尝试检索插入预订表的最后一个 ID,但收到 "Subquery returns more than 1 row"错误消息

view - 为小部件定义参数的最佳方法?