码迷,mamicode.com
首页 > 其他好文 > 详细

【laravel5.4】hasOne和belongsTo的区别

时间:2018-03-31 23:14:16      阅读:1014      评论:0      收藏:0      [点我收藏+]

标签:ima   main   body   color   对象   默认   bubuko   inner   关联表   

1、从字面理解:假如A比B大,那么A hasOne B; B belongsTo A;

2、个人总结:

技术分享图片

 

3、从代码角度:

主要是看你是在哪一个model(模型)中编写这个关联关系,父关联对象就是在父关联model(本文是在Products的model类)下编写的关联模型。


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

//父关联对象表
Products{
 id
 product_name
}
//子关联对象表
Image{
 image_id
 img_name
 product_id    //foreign key
}

//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
}


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

 

 

【laravel5.4】hasOne和belongsTo的区别

标签:ima   main   body   color   对象   默认   bubuko   inner   关联表   

原文地址:https://www.cnblogs.com/xuzhengzong/p/8684469.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!