TP框架的关联模型的使用
来源:互联网 发布:adaboost算法流程图 编辑:程序博客网 时间:2024/05/16 09:23
关联模型的使用
在数据表中一般会存在三种关联关系:
通常我们所说的关联关系包括下面三种:
² 一对一关联 :ONE_TO_ONE,包括HAS_ONE
² 一对多关联 :ONE_TO_MANY,包括HAS_MANY 和 BELONGS_TO
² 多对多关联 :MANY_TO_MANY
现在有数据库
User(储存ID,NAME),
Archive(储存每个人的详细信息),
Dept(个人所属的部门),
Grp(纯粹个人所属的项目组),
Money(个人使用的银行卡)
User_group(用于连接user表和Grp表)
一对一指的是一条数据对应一条数据。例如,user表和Archive的关联关系。一个人对应一条详细信息
一对多(多对一):一条记录对应多条记录。例如:user和Dept的关联关系(多人对应一个部门),user和Money的关联关系(一个人对应多张银行卡)
多对多:多条记录对应多条记录。例如:user和grp的关联关系(每个人可以属于多个组,每个组有多个人)
在TP框架中使用关联模型:
首先要有一个自定义模型。要继承RelationModel类:
Class UserModel extends RelationModel
之后就要定义关联模型:创建类的属性:$_link=array()在$_link数组中应该包含每个在该模型中需要的关联关系,每一个关联关系都应该是一个数组,数组中储存关联关系的参数
关联模型的名称要和关联表的表名相同
例如:
protected $_link = array(
'Archives'=>array(
'mapping_type' =>HAS_ONE, //mapping_type:关联类型
//foreign_key:关联表的外键(这里是Archives表的user_id字段)
'foreign_key'=>'user_id'
)
);
多对一只要修改mapping_type为HAS_MANY或BLONGS_TO
多对多和一对一的区别是需要更多地参数:
'Grp'=>array(
'mapping_type'=>MANY_TO_MANY,
'relation_table'=>'user_group', //relation_table是中间约束和关联的表名
'foreign_key'=>'user_id', //此表类的对应中间表的外键
'relation_foreign_key'=>'group_id' //关联表的对应中间表的外键
)
在控制器中调用关联模型:
$model=D('User');
var_dump($model->relation('Archives')->find(1));
Relation带参数时,参数为要关联的关联名;
不带参数时代表输出所有关联模型
- TP框架的关联模型的使用
- TP框架Hook的使用
- TP框架----hook(钩子)的使用
- TP 框架使用时的盲点
- TP框架的使用(ThinkPHP3.2.2)
- TP框架的介绍和使用
- TP框架模型层简单的增删改查
- TP框架的配置文件
- Thinkphp 下的关联模型的使用
- TP框架的字段映射
- TP框架的图片处理
- TP框架的小知识
- tp 框架的验证码
- Yii,tp框架的比较
- TP工具的使用
- tp if 的使用
- TP框架开发的站点使用phpdoctor生成文档注意事项
- Think PHP(TP)框架的基本使用 (一)
- TPP:吊丝男青年的装X利器
- 库克或将被撤换,苹果“地震”箭在弦上?
- spring AOP配置方法 与 IoC容器的执行流程
- JFrame的层次结构究竟是什么样的,什么又是ContentPane
- 架构师的基本素质
- TP框架的关联模型的使用
- 怎样拦截数据库返回给客户端的异常? [
- 字符串匹配的Boyer-Moore算法 for PHP
- 分布式搜索Elasticsearch——搜索(一)
- gnome桌面终端程序 Guake
- Java RMI之HelloWorld篇
- insert插入数据的多种方法
- 可以设定小数点的位数
- NumPy简明教程(二、数组3)