包 | orm |
---|---|
类层次 | QDB_ActiveRecord_Association_ManyToMany » QDB_ActiveRecord_Association_Abstract |
版本 | $Id: manytomany.php 1937 2009-01-05 19:09:40Z dualface $ |
QDB_ActiveRecord_Association_ManyToMany 类封装 ActiveRecord 对象之间的 many to many 关联
属性 | 类型 | 描述 | 定义于 |
---|---|---|---|
$one_to_one | QDB_ActiveRecord_Association_ManyToMany | ||
$mapping_name | string | 目标数据映射到来源数据的哪一个键,同时 mapping_name 也是关联的名字 | QDB_ActiveRecord_Association_Abstract |
$source_key | string | 确定关联关系时,来源方使用哪一个键 | QDB_ActiveRecord_Association_Abstract |
$target_key | string | 确定关联关系时,目标方使用哪一个键 | QDB_ActiveRecord_Association_Abstract |
$source_key_2nd | QDB_ActiveRecord_Association_Abstract | ||
$target_key_2nd | QDB_ActiveRecord_Association_Abstract | ||
$mid_common_key | QDB_ActiveRecord_Association_Abstract | ||
$on_find | string|int|array | 指示是否读取目标数据 | QDB_ActiveRecord_Association_Abstract |
$on_find_where | array|string | 查询目标数据时要使用的查询条件 | QDB_ActiveRecord_Association_Abstract |
$on_find_order | string | 查询目标数据时的排序 | QDB_ActiveRecord_Association_Abstract |
$on_find_keys | array|string | 查询目标数据时要查询哪些属性 | QDB_ActiveRecord_Association_Abstract |
$on_delete | string|boolean | 指示在来源数据时,如何处理相关的目标数据 | QDB_ActiveRecord_Association_Abstract |
$on_delete_set_value | mixed | 如果 on_delete 为 set_value,则通过 on_delete_set_value 指定要填充的值 | QDB_ActiveRecord_Association_Abstract |
$on_save | string | 指示保存来源数据时,是否保存关联的目标数据 | QDB_ActiveRecord_Association_Abstract |
$mid_source_key | string | 查询多对多关联时,中间数据使用哪一个键关联到来源方 | QDB_ActiveRecord_Association_Abstract |
$mid_target_key | string | 查询多对多关联时,中间数据使用哪一个键关联到目标方 | QDB_ActiveRecord_Association_Abstract |
$mid_on_find_keys | array|string | 查询多对多关联时,是否也要把中间数据放到结果中 | QDB_ActiveRecord_Association_Abstract |
$mid_mapping_to | string | 查询多对多关联时,中间数据要指定到目标数据的哪一个键 | QDB_ActiveRecord_Association_Abstract |
$type | int | 关联的类型 | QDB_ActiveRecord_Association_Abstract |
$enabled | boolean | 当 enabled 为 false 时,表数据入口的任何操作都不会处理该关联 | QDB_ActiveRecord_Association_Abstract |
$source_meta | QDB_ActiveRecord_Meta | 关联中的来源对象 | QDB_ActiveRecord_Association_Abstract |
$target_meta | QDB_ActiveRecord_Meta | 关联到哪一个 ActiveRecord 类 | QDB_ActiveRecord_Association_Abstract |
$mid_meta | QDB_ActiveRecord_Meta | 封装中间表数据的 ActiveRecord 元信息对象 | QDB_ActiveRecord_Association_Abstract |
$mid_table | QDB_Table | 封装中间表的表数据入口对象 | QDB_ActiveRecord_Association_Abstract |
属性 | 类型 | 描述 | 定义于 |
---|---|---|---|
$_inited | boolean | 指示关联是否已经初始化 | QDB_ActiveRecord_Association_Abstract |
$_init_config | array | 初始化参数 | QDB_ActiveRecord_Association_Abstract |
$_init_config_keys | array | 用于初始化关联对象的参数 | QDB_ActiveRecord_Association_Abstract |
方法 | 描述 | 定义于 |
---|---|---|
init() | QDB_ActiveRecord_Association_ManyToMany | |
onSourceSave() | QDB_ActiveRecord_Association_ManyToMany | |
onSourceDestroy() | QDB_ActiveRecord_Association_ManyToMany | |
bindRelatedObject() | 添加和一个对象的关联关系 | QDB_ActiveRecord_Association_ManyToMany |
unbindRelatedObject() | 解除和一个对象的关联关系 | QDB_ActiveRecord_Association_ManyToMany |
create() | 创建一个关联对象 | QDB_ActiveRecord_Association_Abstract |
registerCallbacks() | 注册回调方法 | QDB_ActiveRecord_Association_Abstract |
disable() | 禁用当前关联 | QDB_ActiveRecord_Association_Abstract |
enable() | 启用当前关联 | QDB_ActiveRecord_Association_Abstract |
方法 | 描述 | 定义于 |
---|---|---|
_updateRelation() | 更新对象间的关联关系 | QDB_ActiveRecord_Association_ManyToMany |
_updateRelationByMeta() | 使用 ActiveRecord 来操作中间表,并更新对象之间的 many_to_many 关系 | QDB_ActiveRecord_Association_ManyToMany |
_updateRelationByTable() | 使用表数据入口来操作中间表,并更新对象之间的 many_to_many 关系 | QDB_ActiveRecord_Association_ManyToMany |
__construct() | 构造函数 | QDB_ActiveRecord_Association_Abstract |
public void init()
public void onSourceSave($source, $recursion)
$source | ||
$recursion | ||
{return} |
public void onSourceDestroy($source)
$source | ||
{return} |
public QDB_ActiveRecord_Association_ManyToMany bindRelatedObject($source, $target)
$source | QDB_ActiveRecord_Abstract | |
$target | QDB_ActiveRecord_Abstract | |
{return} | QDB_ActiveRecord_Association_ManyToMany |
添加和一个对象的关联关系
public QDB_ActiveRecord_Association_ManyToMany unbindRelatedObject($source, $target)
$source | QDB_ActiveRecord_Abstract | |
$target | QDB_ActiveRecord_Abstract | |
{return} | QDB_ActiveRecord_Association_ManyToMany |
解除和一个对象的关联关系
protected QDB_ActiveRecord_Association_Abstract _updateRelation($source, $recursion)
$source | QDB_ActiveRecord_Abstract | |
$recursion | int | |
{return} | QDB_ActiveRecord_Association_Abstract |
更新对象间的关联关系
protected QDB_ActiveRecord_Association_ManyToMany _updateRelationByMeta($source, $targets, $recursion)
$source | QDB_ActiveRecord_Abstract | |
$targets | array|QColl | |
$recursion | int | |
{return} | QDB_ActiveRecord_Association_ManyToMany |
使用 ActiveRecord 来操作中间表,并更新对象之间的 many_to_many 关系
protected QDB_ActiveRecord_Association_ManyToMany _updateRelationByTable($source, $targets, $recursion)
$source | QDB_ActiveRecord_Abstract | |
$targets | array|QColl | |
$recursion | ||
{return} | QDB_ActiveRecord_Association_ManyToMany |
使用表数据入口来操作中间表,并更新对象之间的 many_to_many 关系