sql >> Base de Datos >  >> RDS >> Mysql

condición en criterios en yii framework php

Hasta donde yo sé, no puede hacer referencia a los alias en un WHERE part (enlace de prueba ). Elimina la línea de condición y agrega lo siguiente:

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

ACTUALIZAR

CActiveDataProvider acepta la instancia del buscador , por lo que necesitará un alcance de modelo:

<?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());

Espero que esto funcione