ThinkPHP5中模型的一对一关联关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP5中模型的一对一关联关系相关的知识,希望对你有一定的参考价值。

参考技术A

现在有两张表:

商品表中有一个 img_id 字段作为图片的外键。

一个商品有一张图片,一张图片对应一个商品。所以商品表和图片表是一对一的关系。
所以,商品表是主表,图片表是从表。

那么在 TP5 中要定义模型的一对一关系的话,应该使用如下两种方法

那么这两种方法要怎么使用呢?文档是这么写的

所以,只需要知道外键在哪一张表即可知道用哪一个方法。

这个例子中,Product 中有 Image 的外键 img_id ,所以在 Product 模型中这么定义

如果这个例子改成

现在是图片表有商品的外键,那么关联关系这么定义

虽然是一对一关系,但是两者是由主从关系的。谁持有外键,谁就是从,另外一个就是主。

belongsTo 和 hasOne 从字面上来看是

所以,商品有图片的外键 img_id ,那么商品就是从表,图片就是主表。因此可以得到

反正就是, 谁有外键,谁就是从表

以上是关于ThinkPHP5中模型的一对一关联关系的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP5——模型的一对多关联

php thinkphp 现在有模型关联问题

Laravel5.1 模型--关联关系(复杂)

laravel 关联模型 多态关系

thinkphp利用模型关联来做关联统计

Laravel5.6 Eloquent ORM 关联关系,一对一和一对多