は、私はすべての毎日退会ユーザーを示している。このコードは、...yiiのcdbCriteriaでSUMを使用するには?
public function getdailyUnSubs($modelName,$op){
$currentDate = date('Ymd');
$criteria = new CDbCriteria;
$criteria->select = 'app_unsubs,sms_unsubs';
$criteria->order = 'date DESC';
$criteria->limit = 1;
$criteria->offset = 0;
$Subscriber = $modelName::model()->find($criteria);
$totalunSubs = $Subscriber['app_unsubs']+$Subscriber['sms_unsubs'];
return $totalunSubs;
}
を持っていますが、今私は、これまでのところ、すべて解除のユーザーを取得したいです。私はすべての非購読ユーザーの合計が欲しい。
ここは私のコードですが、動作しません。
public function getTotalUnSubs($modelName,$op){
$criteria = new CDbCriteria;
$criteria->select ='sum(app_unsubs) as appunsubs, sum(sms_unsubs) as smsunsubs';
$Subscriber = $modelName::model()->find($criteria);
$totalunSubs = $Subscriber['appunsubs']+$Subscriber['smsunsubs'];
return $totalunSubs;
}
appunsubs
とsmsunsubs
が定義されていないと言っています。
は私が
$criteria->select ='(sum(app_unsubs)+ sum(sms_unsubs)) as totalunsubs';
と
$totalunSubs = $Subscriber['totalunsubs'];
にコードを変更してもそれはまだtotalunsubs
が定義されていないと言います。
コードを使用した後、エラーが表示され、 'SubUsers'が存在しないと言っています。それは私のテーブルの名前です。エラー: '$ sql = Yii :: app() - > db-> commandBuilder-> createFindCommand($ modelName、$ criteria) - > getText();' –
このコードで返されたものを確認してください: 'Yii: :app() - > db-> getSchema() - > getTable( 'SubUsers') '。 'CDbTableSchema'オブジェクトを返す場合、' $ modelName'変数の代わりにエラーがある行に渡してください。 – aslawin
このコードはどこに置くべきですか? '$ subUsersTableSchema = Yii :: app() - > db-> getSchema(' YU :: app() - > db-> getSchema() - > getTable( 'SubUsers') ' –