通过table方法与join方法可以实现多表链接查询操作,但是其sql语句过于繁杂,容易搞错,所以在实际项目中,ThinkPHP框架封装了一个关联模型,可以帮助我们完成多表查询操作。
1. 关联类型
一对一关系:用户表与用户简历表 ONE_TO_ONE,包括 HAS_ONE 和 BELONGS_TO
一对多关系:分类表与产品表 ONE_TO_MANY,包括 HAS_MANY 和 BELONGS_TO多对多关系:用户表与权限表 MANY_TO_MANY2. 关联模型(RelationModel)
如果想使用关联模型,请让我们的自定义模型继承RealtionModel模型,在实际项目开发中,可以通过定义$_link属性来设置关联模型
3. 关联属性
mapping_type :关联类型
mapping_name :关联模型,获取数据时使用该名称mapping_fields :获取关联的字段class_name :关联模型名称,如果不写,使用默认值foreign_key :关联的外键(可以不用在SQL中设置,TP会自动设置)parent_key :关联的外键(自连接时使用的外键)condition :关联条件(一般可以不用设置)