简体   繁体   English

在yii中为内部查询创建cdbcriteria?

[英]create cdbcriteria for inner query in yii?

I want to create my query with cdbcriteria in YII , with out using createCommand. 我想在YII中使用cdbcriteria创建查询,而无需使用createCommand。

select count(*) count
from (select id,player_id,goals_scored,if(goals_scored>0,@counter:=@counter+1,@counter:=0)    count from player_stats, (select @counter:=1) b 
where player_id='1000099' and @counter>0 order by id desc) f

How can I create correct SQL query in YII syntax? 如何使用YII语法创建正确的SQL查询?

Why do you need CDbCriteria for this? 为什么需要CDbCriteria You probably need the DAO and something like this: 您可能需要DAO和类似以下内容:

$count = Yii::app()->db->createCommand("
select count(*) count
from (select id,player_id,goals_scored,if(goals_scored>0,@counter:=@counter+1,@counter:=0)    count from player_stats, (select @counter:=1) b 
where player_id='1000099' and @counter>0 order by id desc) f
")->queryScalar();

Usually CDbCriteria is used with ActiveRecord models but I don't see how it would be applicable in this particular case. 通常CDbCriteria与ActiveRecord模型一起使用,但我看不出它在这种特殊情况下如何适用。 If not, please show the full code sample. 如果没有,请显示完整的代码示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM