资讯专栏INFORMATION COLUMN

ThinkPHP5下has_one和belongs_to的区别

chemzqm / 1538人阅读

摘要:下和的区别在查阅了相关开发文档和相关博客后,总结出关于和的区别,主要是看你是在哪一个模型中编写这个关联关系,父关联对象就是在父关联本文是在的类下编写的关联模型。下面是两种关联的使用时机。

ThinkPHP5下has_one和belongs_to的区别

在查阅了相关Tp5开发文档和相关博客后,总结出关于belongsTo和hasOne的区别,主要是看你是在哪一个model(模型)中编写这个关联关系,父关联对象就是在父关联model(本文是在Products的model类)下编写的关联模型。下面是两种关联的使用时机。


has_one(或has_many):外键在子关联对象中

例子:

//父关联对象表
Products{
 id
 product_name
}
//子关联对象表
Image{
 image_id
 img_name
 product_id    //foreign key
}
在TP5中的写法为:
//hasOne方法的参数包括:
//hasOne("关联模型名","外键名","主键名",["模型别名定义"],"join类型");
//默认的join类型为INNER
//写在Products的model类中
public function Img(){
  $this->hasOne("Image","product_id","id");
}

belongs_to:外键在你父联对象中
//父关联对象表:
Product{
 product_id
 img_id    //foreignkey
 product_name
}
//子关联对象表
Image{
 id      
 img_name
}
在TP5中的写法为:
//belongsTo方法的参数包括:
//belongsTo(‘关联模型名’,‘外键名’,‘关联表主键名’,[‘模型别名定义’],‘join类型’);
//默认的join类型为INNER
//写在Products的model类中
public function Img(){
$this->belongsTo("Image","img_id","id");
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25627.html

相关文章

  • ThinkPHP3.2.3 关联模型

    摘要:关联模型是什么为了方便对多张关联表进行增删改查操作业务模型必须继承关联种模式一对一拥有一个属于一对多拥有多个属于多对多主从问题一对一一个主表记录拥有一个从表记录例如用户与身份证一个用户拥有一个身份证,用户表是主表,身份证表是从表用户模型里使 关联模型是什么 为了方便对 多张关联表 进行 增、删、改、查 操作 业务模型必须继承 RelationModel 关联3种模式 一对一(HA...

    zhigoo 评论0 收藏0
  • Yii 多表关联

    摘要:在里面对数据库操作有一个很方便的功能就是多表关联,通过在里面指定对某个表的关联,这样就可以很快得到相关信息而不需要自己去写复杂的语句。 在 Yii 里面对数据库操作有一个很方便的功能就是多表关联,通过在 model 里面指定对某个表的关联,这样就可以很快得到相关信息而不需要自己去写复杂的 sql 语句。 下面我们拿 user 表和 news 表举例。(一个用户发表了多篇文章) 首先,...

    warnerwu 评论0 收藏0
  • 编程模式漫谈

    摘要:按信息熵的观点这种模式对熵的降低最大。但是,这将增加处理程序的复杂性,程序并不能轻松的自动处理,或者要将多对多关联分解成纯粹的和有其他数据的两种模式。模式是普遍存在的,从到。 4月份遗漏了一篇,这篇算是补充。 此文并非对设计模式的总结,而是要谈谈一般的编码风格,找设计模式的朋友可以移步了。 什么是模式?我搜到一个简短的解释:模式是指从生产经验和生活经验中经过抽象和升华提炼出来的核...

    ARGUS 评论0 收藏0
  • 编程模式漫谈

    摘要:按信息熵的观点这种模式对熵的降低最大。但是,这将增加处理程序的复杂性,程序并不能轻松的自动处理,或者要将多对多关联分解成纯粹的和有其他数据的两种模式。模式是普遍存在的,从到。 4月份遗漏了一篇,这篇算是补充。 此文并非对设计模式的总结,而是要谈谈一般的编码风格,找设计模式的朋友可以移步了。 什么是模式?我搜到一个简短的解释:模式是指从生产经验和生活经验中经过抽象和升华提炼出来的核...

    kk_miles 评论0 收藏0
  • micro activerecord library in PHP(一个微型PHP实现AR库)

    摘要:一个微型的实现的库体积很小带详尽的注释总共只有行支持链式调用支持关系前言最开始接触是在学习的时候,那个时候觉得用操作数据库真的是太方便了。但是已经算是一个小型的库了。同样的还提供了简写的以及,等接口函数。 一个微型的PHP实现的AR库 体积很小带详尽的注释总共只有400行支持链式调用支持关系 前言 最开始接触ActiveRecord是在学习Yii的时候,那个时候觉得用AR操作数据库真的...

    i_garfileo 评论0 收藏0

发表评论

0条评论

chemzqm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<