2

このクエリを yii で変換したい

SELECT count(*) AS cnt, date(dt) FROM tbl_log where status=2 GROUP BY date(dt) 

そこからデータを取得します。私はこのコマンドを試します(dt日時フィールドです):

$criteria = new CDbCriteria();
$criteria->select = 'count(*) as cnt, date(dt)';
$criteria->group = 'date(dt)';
$criteria->condition = 'status= 2';
$visit_per_day = $this->findAll($criteria);

しかし、データは取得されません! データを取得するにはどうすればよいですか?

4

3 に答える 3

0

Yii2 を使用していて、テーブルtbl_logに基づくモデルがある場合、次のようなモデル スタイルで実行できます。

$status = 2;
$result = Model::find()
    ->select('count(*) as cnt, date(dt)')
    ->groupBy('date(dt)')
    ->where('status = :status')
    ->params([':status' => $status ])
    ->all();
于 2015-03-13T13:12:23.027 に答える