0
$criteria->select = 't.*,count(business_unit.id) as TotalBusinessUnits,count(users.id) as TotalUsers ,count(positions.id) as TotalPositions, count(skills.id) as TotalSkills , users.first_name , users.last_name, count(question_bank.id) as TotalQuestions';
$criteria->condition = "`t`.status = '1'";
$criteria->group = 't.id';
$criteria->order = 'created DESC';
$criteria->join = " inner join users on users.company_id = `t`.id";
$criteria->join .= " left join business_unit on business_unit.company_id = `t`.id";
$criteria->join .= " left join billingdetails on billingdetails.company_id = `t`.id";
$criteria->join .= " left join positions on positions.company_id = `t`.id";
$criteria->join .= " left join skills on skills.company_id = `t`.id";
$criteria->join .= " left join question_bank on question_bank.company_id = `t`.id";
これはうまく機能し、選択したすべての列を取得します。 しかし、それをCActiveDataProviderに渡すと、属性はthis
になります。CActiveDataProviderは選択した列を与えません。
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination' => $pages
));
どのようにすべての列を選択しますか?モデルとすべてのパブリック変数がダンディあるべきなのYiiで
モデルにパブリック変数として列名がリストされていますか?そのモデルに 'public $ TotalBusinessUnits;'を追加し、その値を取得できるかどうかを確認してください。 – Chris
あなたはもっとそれを黙らせることができますか? –