Hi, I’m using this subquery in the select to overcome the impossibility of using a STAT relation in the criteria of a DataProvider.
That works fine. But when I try to add this condition to the criteria: subscriber_count > 50 it breaks and gives errors about the subscriber_count field in the where clause not found, because Yii is apparently internally building a COUNT() query and the subquery is not included there.
I tried including the whole subquery in the condition, but then everything breaks, the model’s relations don’t work anymore, so that doesn’t work either.
What should I do to make it work?
$authors = new CActiveDataProvider( 'User', [ 'criteria' => [ // 'condition' => 'subscriber_count > 50', 'select' => [ 't.*', '(select count(*) from subscriber_author subaut where subaut.author_id = t.id AND subaut.verified >= 1) as subscriber_count' ]], 'sort' => [ 'defaultOrder' => [ 'subscriber_count' => CSort::SORT_ASC ], 'attributes' => [ 'subscriber_count' => [ 'desc' => 'subscriber_count ASC', 'asc' => 'subscriber_count DESC' ] ]]]);
Note: I would love to update to Yii 2.0 but it’s not an option right now in this project, so even if there’s a better solution in 2.0 I’m stuck with 1.1 for now.