Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak przekonwertować podzapytanie mysql w yii CDbCriteria?

Oto mały przykład (jeśli dobrze zrozumiałem strukturę/relacje):

//Model UserGroupDataRevision
class UserGroupDataRevision extends CActiveRecord 
{
     public function relations()
     {
        return array(
            'userGroup' => array(self::BELONGS_TO, 'UserGroup', 'group_id'),
            'userGroupData' => array(self::BELONGS_TO, 'UserGroupData', 'group_data_id'),
        );
     }
     //....
}

//model UserGroup
class UserGroup extends CActiveRecord {...}
//model UserGroupData
class UserGroupData extends CActiveRecord {...}

Kryteria:

$criteria = new CDbCriteria();
$criteria->select = 'ugdr.revision_version'; // other fields
$criteria->alias = 'ugdr';
$criteria->with = array(
        'userGroup' => array(
        'alias' => 'ug',
        'together' => true,
        'select' => array('ug.user_id'), // other fields
    ),
    'userGroupData' => array(
        'alias'=> 'ugd',
        'together' => true,
        'select'=>array('ugd.group_id, ugd.group_name'), // other fields
    ),
);
$criteria->group = 'rgd.group_id';
$criteria->order = 'rgd.group_id'; // or something else

Sprawdzanie danych:

$dataProvider = new CActiveDataProvider('UserGroupDataRevision', array(
      'criteria' => $criteria,
   )
);
var_dump($dataProvider->getData());
die();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukiwanie i filtrowanie / poprawianie wyników bazy danych w Laravel 4

  2. pobierz obrazy base64 z bazy danych

  3. java.lang.ClassNotFoundException:com.mysql.jdbc.Driver w czasie wykonywania (eclipse / maven /tomcat)

  4. Zmień typ kolumny z Date na DateTime podczas migracji ROR

  5. Co jest nie tak z tą instrukcją MySQL:DECLARE @ID INT