Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Yii CDbCriteria में mysql सबक्वेरी को कैसे बदलें?

यहां एक छोटा सा उदाहरण है (यदि मैं संरचना/संबंधों को सही ढंग से समझता हूं):

//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 {...}

मानदंड:

$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

डेटा जांच:

$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. MySqlCommand Command.Parameters.Add अप्रचलित है

  2. MYSQL में हटाने पर उसी तालिका को कैसे अपडेट करें?

  3. MySQL लैग/लीड मुद्दा

  4. चुनें * जहां मौजूद नहीं है

  5. MySQL और MariaDB में सभी डेटाबेस को सूचीबद्ध करने और दिखाने के लिए SQL कमांड