从标题上讲,所谓模型关联,也就是模型与模型之间建立联系。模型是对数据库的抽象,建立模型关联,也就是联系数据库表与表之间的关联。

下面我将从实例出发,讲解一对一的模型关联。在讲解模型关联之前,我们先来看一下数据库中表的内容:

在mysql数据库中,我们建立了两个表:student表study表

student表

image.png

study表
image.png
在此我希望将以上两个表关联起来。

第一步:建立study模型

命令行:
php think make:model study

image.png

第二部:Student模型

Student模型中的内容
image.png

第三部:User控制器中,对study表中的数据,进行关联访问

image.png

注意:在关联访问的过程中,User控制器中书写的study方法名必须要与Student模型中的study方法名保持一致。如下图:
image.png

//根据关联条件来查询当前模型对象数据

controller控制器 User

image.png

查询结果:

image.png

//将数据集转换成数组

image.png

输出结果:

image.png

注:最后在此我要讲一下HasOne的用法。

hasOne(‘被关联模型类名’, ‘外键’, ‘主键’);

  • 被关联模型(必须):被关联模型类名
  • 外键:默认的外键规则是当前模型名(不含命名空间,下同)+_id ,例如user_id
  • 主键:当前模型主键,默认会自动获取也可以指定传入