/** * 构造函数 * * @param QDB_ActiveRecord_Meta $meta * @param array $settings * * @access private */ function __construct(QDB_ActiveRecord_Meta $meta, array $settings) { parent::__construct($meta, $settings); if ($meta->idname_count > 1) { throw new QDB_ActiveRecord_CompositePKIncompatibleException($this->_meta->class_name, __CLASS__); } }
/** * 撤销插件绑定 */ function unbind() { parent::unbind(); $pn = $this->_settings['password_prop']; if (is_null($this->_saved_state['password_prop'])) { unset($this->_meta->update_reject[$pn]); } else { $this->_meta->update_reject[$pn] = $this->_saved_state['password_prop']; } }
function __construct(QDB_ActiveRecord_Meta $meta, array $settings) { parent::__construct($meta, $settings); if (empty($this->_settings['props']) || !is_array($this->_settings['props'])) { throw new QException(__("Missing \"props\" parameter in \"%s\" Model", $meta->class_name)); } foreach ($this->_settings['props'] as $prop => &$_config) { if (!isset($_config['mapping_name'])) { $_config['mapping_name'] = "{$prop}_formatted"; } if (isset($this->_meta->prop[$_config['mapping_name']])) { throw new QException(__("\"%s\" prop has been set up, you must use another mapping name", $_config['mapping_name'])); } if (!isset($_config['formatter'])) { $_config['formatter'] = "serialize"; } $_config['prop_name'] = $prop; $this->_meta->setPropGetter($_config['mapping_name'], array("Model_Behavior_Formatter_{$_config['formatter']}", 'get'), $_config); $this->_meta->setPropSetter($_config['mapping_name'], array("Model_Behavior_Formatter_{$_config['formatter']}", 'set'), $_config); } }
/** * 撤销绑定 */ function unbind() { parent::unbind(); $this->_meta->removeAssoc($this->_settings['childs_mapping']); $this->_meta->removeAssoc($this->_settings['parent_mapping']); }