Call to a member function getData() [ 新手入门 ]
Call to a member function getData() on a non-object in?是什么原因呢?
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
array(
'header'=>'编号',
'type'=>'raw',
'value'=>'$data->pl_id',
),
array(
'header'=>'标题',
'type'=>'raw',
'value'=>'Helper::truncate_utf8_string($data->news_title,9,false)',
),
array(
'header'=>'内容',
'type'=>'raw',
'value'=>'Helper::truncate_utf8_string($data->pl_content,9,false)',
),
array(
'header'=>'时间',
'type'=>'raw',
'value'=>'$data->pl_time',
),
array(
'class'=>'CButtonColumn',
),
),
));
$sql="select pl_id,news_title,pl_content,pl_time from news join pinglun on news.news_id=pl_int";
$dataProvider=Yii::app()->db->createCommand($sql)->queryAll();
//echo'<pre>';
//print_r($dataProvider);die();
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
共 8 条回复
-
lz19881123 回复于 2012-01-04 11:30 举报
VIEW显示页面;
<?php $this->widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$dataProvider, 'pager'=>array( //通过pager设置样式 默认为CLinkPager 'prevPageLabel'=>'上一页', 'firstPageLabel'=>'首页', //first,last 在默认样式中为{display:none}及不显示,通过样式{display:inline}即可 'nextPageLabel'=>'下一页', 'lastPageLabel'=>'末页', 'header'=>'', ), 'ajaxUpdate'=>false, 'columns'=>array( array( 'selectableRows' => 2, 'footer' => '<input type="checkbox" id="cbCheckAll" onclick="checkAll(this);"/><label for="cbCheckAll">全选</label>', 'class' => 'CCheckBoxColumn', 'headerHtmlOptions' => array('width'=>'50px'), 'checkBoxHtmlOptions' => array('name' => 'selectdel[]') ), array( 'name'=>'编号', 'type'=>'raw', 'value'=>'$data->pl_id', ), array( 'name'=>'标题', 'type'=>'raw', 'value'=>'$data->username', ), array( 'name'=>'评论内容', 'type'=>'raw', 'value'=>'Helper::truncate_utf8_string($data->pl_content,9,false)', ), array( 'name'=>'评论时间', 'type'=>'raw', 'value'=>'$data->pl_time', ), array( 'class'=>'CButtonColumn', ), ), )); ?>
-
lz19881123 回复于 2012-01-04 15:03 举报
大家的分享精神都跑哪里去拉。
-
davidhhuan 回复于 2012-01-04 23:25 举报
你的CActiveDataProvider使用都不对。。。第一个参数传入的应该是 model 名字
-
davidhhuan 回复于 2012-01-04 23:33 举报
你应该这样写才对吧,代码未经测试,大体上是这样形式:
$sql="select pl_id,pl_content,pl_time,news_title,admin.username from news join pinglun on news_id=pinglun.pl_int left join tbl_user admin on admin.id=pl_person order by pl_id desc";$dataProvider = new CActiveDataProvider( 'News', 'criteria'=>array( 'select'=>'pl_id,pl_content,pl_time,news_title,admin.username', 'join'=> 'LEFT JOIN pinglun ON news_id = pinglun.pl_int LEFT JOIN tbl_user admin ON admin.id=pl_person', 'order'=>'pl_id DESC', ), array( 'pagination'=>array( 'pageSize'=>8) ),
-
lz19881123 回复于 2012-01-05 08:40 举报
多谢热心人,我试试啊。
-
lz19881123 回复于 2012-01-05 08:58 举报
还是不行,只是查询到一张表的数据。
-
lz19881123 回复于 2012-01-05 08:59 举报
还是不行,只是查询到一张表的数据。
-
lz19881123 回复于 2012-01-05 09:00 举报
知道的回复下。谢谢。
lz19881123 深圳
注册时间:2011-07-26
最后登录:2019-05-26
在线时长:7小时52分
最后登录:2019-05-26
在线时长:7小时52分
- 粉丝37
- 金钱1030
- 威望0
- 积分1100