我可以使用 yii CSqlDataProvider 执行两个或多个 sql 语句吗?
我试图使用 yii 在以下 sql 语句中获得很少的结果,但是有一些问题......!
$sql="SET @pStat=-1; SET @pdt=0; SELECT * FROM (SELECT !li.gen AS id,li.logAt, getDuration(gen,logAt) AS duration FROM os_loggerinfo li ) AS a WHERE a.duration>0;";
$count=count(Yii::app()->db->createCommand($sql)->query());
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$count,
'pagination'=>array(
'pageSize'=> 10,
),
));
I am trying to get few result on following sql statements using yii, But there are something wrong....!!!
$sql="SET @pStat=-1; SET @pdt=0; SELECT * FROM (SELECT !li.gen AS id,li.logAt, getDuration(gen,logAt) AS duration FROM os_loggerinfo li ) AS a WHERE a.duration>0;";
$count=count(Yii::app()->db->createCommand($sql)->query());
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$count,
'pagination'=>array(
'pageSize'=> 10,
),
));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您正在使用
count(Yii::app()->db->createCommand($sql)->query());
,我不确定,但我认为query()
仅返回 true 或 false。尝试使用queryAll()
或者如果它只是单行,请使用queryRow()
You are using
count(Yii::app()->db->createCommand($sql)->query());
, I am not sure, but i thinkquery()
just returns true or false. try usingqueryAll()
or if it's just a single row usequeryRow()
尝试使用
CArrayDataProvider
而不是CSqlDataProvider
:Try to use
CArrayDataProvider
instead ofCSqlDataProvider
: