请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 5091|回复: 0

[API参考] spLinker

[复制链接]
发表于 2012-8-6 20:39:22 | 显示全部楼层 |阅读模式
  1. 数据表的表间关联实现
复制代码
数据表间关联是数据库操作常见的一种应用。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类中的成员函数。
prepare_result

准备执行结果

object prepare_result(records run_resultl)

参数:

  • records run_resultl 函数或方法执行后返回的数据
prepare_delete

私有函数,辅助删除数据操作

records prepare_delete(string func_name, array func_args)

参数:

  • string func_name 需要执行的函数名称
  • array func_args函数的参数
do_delete

私有函数,进行关联删除数据操作

bool do_delete( array thelinker, records maprecords )

参数:

  • array thelinker 关联的描述
  • records maprecords 对应的记录
do_update

私有函数,进行关联更新数据操作

bool do_update( array thelinker, array func_args )

参数:

  • array thelinker 关联的描述
  • array func_args进行操作的参数
do_create

私有函数,进行关联新增数据操作

bool do_create( array thelinker, int newid, array func_args )

参数:

  • array thelinke 关联的描述
  • int newid 主表新增记录后的关联ID
  • array func_args 进行操作的参数
do_select

私有函数,进行关联查找数据操作

records do_select( array thelinker, records run_result )

参数:

  • array thelinker 关联的描述
  • records run_result 主表执行查找后返回的结果



您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-2-19 18:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表