Contenu connexe
Plus de エンジニア勉強会 エスキュービズム (19)
Yii framework_エンジニア勉強会20140226
- 2. CActiveRecord & CDbCriteria
Simple Search:
$model = new User();
$model->getDbCriteria()->compare('id', $user_id);
$model->getDbCriteria()->compare('name', $user_name);
$models = $model->findAll();
$model = new User();
$criteria=new CDbCriteria;
$criteria->compare('id', $user_id);
$criteria->compare('name', $user_name);
$models = $model->findAll($criteria);
- 3. CActiveRecord & CDbCriteria
Operator Search:
$model = new User();
$model ->getDbCriteria()->addCondition("birthDate <= :eighteenPlus");
$model ->getDbCriteria()->params[':eighteenPlus]=$eighteenPlus;
$model ->getDbCriteria()->compare("birthDate",$eighteenPlus,false,"<=");
Possible Operators: <> <= >= < > =
Like Search:
$model = new User();
$model ->getDbCriteria()->compare("name", $initials, true);
- 4. CActiveRecord & CDbCriteria
Nested Conditions Search:
$model = new User();
$model->getDbCriteria()->compare('id', $user_id);
$model->getDbCriteria()->compare('name', $user_name);
$criteria = new CDbCriteria();
$criteria->compare('del_flag', false, false, 'OR');
$criteria->compare('del_flag', null, false, 'OR');
$model->getDbCriteria()->mergeWith($criteria);
$models = $model->findAll();
- 5. CActiveRecord & CDbCriteria
Relational Search:
$model = new User();
$model ->with('UserAddress');
$model ->with('UserContact');
$model ->getDbCriteria()->together = false;
$model->getDbCriteria()->compare('id', $userId);
$model->getDbCriteria()->compare('name', $userName);
$model->getDbCriteria()->compare('UserContact.phoneNumber', $phoneNumber);
/protected/models/User.php
public function relations() {
return array(
'productsClass' => array(self::HAS_MANY, 'UserAddress', 'user_id'),
'productCategory' => array(self::HAS_MANY, 'phoneNumber', 'user_id),
);
}
- 6. CActiveRecord & CDbCriteria
Populate:
$model->attributes = $_POST['NpSettingsForm'];
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'npPostPaySettings',
'htmlOptions'=>array(
'class'=>'form-horizontal text-right',
),
'enableAjaxValidation'=>false,
'enableClientValidation' => true,
));
?>
<?php echo $form->labelEx($model,'spCode'); ?>
<?php echo $form->TextField($model,'spCode'); ?>
<?php echo $form->labelEx($model,'terminalId); ?>
<?php echo $form->TextField($model,'terminalId'); ?>