Mysql
 sql >> Database >  >> RDS >> Mysql

condizione nei criteri nel framework yii php

Per quanto ne so, non puoi fare riferimento ad alias in un WHERE parte (link di prova ). Rimuovi la riga della condizione e aggiungi quanto segue:

$criteria->having = 'COUNT(tbl_abc.id) > 1';

AGGIORNAMENTO

CActiveDataProvider accetta l'istanza del cercatore , quindi avrai bisogno di un ambito modello:

<?php
class Business extends CActiveRecord
{
  public function scopes()
  {
    return array(
      'hasSpcount' => array(
        'with' => array('reviewCount', 'category10', 'category20', 'category30', 'town'),
        'select' => 't.id,business,street,postalCode,contactNo,checkinCount,count(tbl_abc.id) as spcount',
        'join' => 'left join tbl_abc on t.id=tbl_abc.businessId',
        'group' => 't.id',
        'order' => 'spcount DESC',
        'having' => 'COUNT(tbl_abc.id) > 1',
      ),
    );
  }
}

// usage
$provider = new CActiveDataProvider(Business::model()->hasSpcount());

Spero che funzioni