#1 jake
数据表的表间关联实现数据表间关联是数据库操作常见的一种应用。sp框架提供了多种表间关联的功能支持,令开发者可以轻松应对各种数据表关联情况:一对一的关联、一对多的关联、多对多的关联。
成员变量
public
- $enabled -- 是否启用全部关联
private
- $model_obj -- 模型对象
- $linker -- 链接方式指示
- $prepare_result -- 预准备的结果
- $methods -- 可支持的关联方法
成员函数
public
- __input -- 函数式使用模型辅助类的输入函数
- __call -- 魔术函数,支持多重函数式使用类的方法
- prepare_result -- 准备执行结果
private
- prepare_delete -- 辅助删除数据操作
- do_delete -- 进行关联删除数据操作
- do_update -- 进行关联更新数据操作
- do_create -- 进行关联新增数据操作
- do_select -- 进行关联查找数据操作
位置
spLinker类位于 SP_PATH/Core/spModel.php
详细__input
函数式使用模型辅助类的输入函数。
object __input(args args)
__input() 是spController的模型辅助类在使用函数式方法时的标准输入接口。
__call魔术函数,支持多重函数式使用类的方法
在spLinker类中,__call执行了spModel继承类的相关操作,以及按关联的描述进行了对关联数据模型类的操作。
spLinker的使用均是通过spModel()->spLinker()->findAll()形式执行,所以开发者无需直接使用spLinker类中的成员函数。
准备执行结果
object prepare_result(records run_resultl)
参数:
- records run_resultl 函数或方法执行后返回的数据
私有函数,辅助删除数据操作
records prepare_delete(string func_name, array func_args)
参数:
- string func_name 需要执行的函数名称
- array func_args函数的参数
私有函数,进行关联删除数据操作
bool do_delete( array thelinker, records maprecords )
参数:
- array thelinker 关联的描述
- records maprecords 对应的记录
私有函数,进行关联更新数据操作
bool do_update( array thelinker, array func_args )
参数:
- array thelinker 关联的描述
- array func_args进行操作的参数
私有函数,进行关联新增数据操作
bool do_create( array thelinker, int newid, array func_args )
参数:
- array thelinke 关联的描述
- int newid 主表新增记录后的关联ID
- array func_args 进行操作的参数
私有函数,进行关联查找数据操作
records do_select( array thelinker, records run_result )
参数:
- array thelinker 关联的描述
- records run_result 主表执行查找后返回的结果
2012-08-06 20:39:22