getTableAlias(); return array( 'languagesettings' => array(self::HAS_MANY, 'QuotaLanguageSetting', '', 'on' => "$alias.id = languagesettings.quotals_quota_id"), ); } /** * Returns this model's validation rules * */ public function rules() { return array( array('name','LSYii_Validators'),// Maybe more restrictive array('qlimit', 'numerical', 'integerOnly'=>true, 'min'=>'0', 'allowEmpty'=>true), array('action', 'numerical', 'integerOnly'=>true, 'min'=>'1', 'max'=>'2', 'allowEmpty'=>true), // Default is null ? array('active', 'numerical', 'integerOnly'=>true, 'min'=>'0', 'max'=>'1', 'allowEmpty'=>true), array('autoload_url', 'numerical', 'integerOnly'=>true, 'min'=>'0', 'max'=>'1', 'allowEmpty'=>true), ); } function insertRecords($data) { $quota = new self; foreach ($data as $k => $v){ $quota->$k = $v; } try { $quota->save(); return $quota->id; } catch(Exception $e) { return false; } } function deleteQuota($condition = false, $recursive = true) { if ($recursive == true) { $oResult = Quota::model()->findAllByAttributes($condition); foreach ($oResult as $aRow) { QuotaLanguageSetting::model()->deleteAllByAttributes(array('quotals_quota_id' => $aRow['id'])); QuotaMember::model()->deleteAllByAttributes(array('quota_id' => $aRow['id'])); } } Quota::model()->deleteAllByAttributes($condition); } } ?>