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

betingelse i kriterier i yii ramme php

Så vidt jeg ved, kan du ikke henvise til aliaser i en WHERE del (bevis link ). Fjern betingelseslinjen, og tilføj følgende:

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

OPDATERING

CActiveDataProvider accepterer finder-forekomst , så du skal bruge et modelomfang:

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

Håber det virker



  1. PHP mySQL - Indsæt ny post i tabellen med automatisk stigning på primærnøgle

  2. Forskelle mellem INDEX, PRIMARY, UNIQUE, FULLTEXT i MySQL?

  3. Nærhedssøgning

  4. Hvorfor virker GRANT ikke i MySQL?