从标题上讲,所谓模型关联,也就是模型与模型之间建立联系。模型是对数据库的抽象,建立模型关联,也就是联系数据库表与表之间的关联。
下面我将从实例出发,讲解一对一的模型关联。在讲解模型关联之前,我们先来看一下数据库中表的内容:
在mysql数据库中,我们建立了两个表:student表与study表
student表
study表
在此我希望将以上两个表关联起来。
第一步:建立study模型
命令行:
php think make:model study
第二部:Student模型
Student模型中的内容
第三部:User控制器中,对study表中的数据,进行关联访问
注意:在关联访问的过程中,User控制器中书写的study方法名必须要与Student模型中的study方法名保持一致。如下图:
//根据关联条件来查询当前模型对象数据
controller控制器 User
查询结果:
//将数据集转换成数组
输出结果:
注:最后在此我要讲一下HasOne的用法。
hasOne(‘被关联模型类名’, ‘外键’, ‘主键’);
- 被关联模型(必须):被关联模型类名
- 外键:默认的外键规则是当前模型名(不含命名空间,下同)+_id ,例如user_id
- 主键:当前模型主键,默认会自动获取也可以指定传入