美文网首页
解读‘一对一’对应关系

解读‘一对一’对应关系

作者: Monkey_zhou | 来源:发表于2018-06-30 22:39 被阅读9次

解读一对一 hasOnebelongsTo

  • 一对一怎么定义

一对一的关系要定义在 主动调用的调用方
例如:本项目中 themeimage 两个模型是一对一关系,实际业务中,我们需要从 theme模型去调用 image 模型中的图片,
所以定义模型关系需要定义在 theme 中:

theme.php
 /**     
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo     
*/   
 public function topicImage()    {        
  return $this->belongsTo('App\Models\Images', 'topic_img_id', 'id');    
}
  • hasOnebelongsTo 的区别:

hasOnebelongsTo 是有主从的或者说不能互换的;
为撒?

在设计表结构时,两个有一对一关系的模型中,一个表中会设计外键,而另一表中不会设计外键,需要用 hasOnebelognsTo 来区分
本项目中 theme 表中有 topic_img_id 对应 image 表中的 id; 而 image 表中没有定义外键,类似于 theme_id 的字段;
从这点来说,这一对一的关系是不能互换,不对等的;

<figure style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;"> theme表
image.png

在有外键的模型 theme 中, 使用 belongsTo

theme.php 
/**     
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo     
*/    
public function topicImage()    {        
    return $this->belongsTo('App\Models\Images', 'topic_img_id', 'id');    
}
  • 总结:
  1. 一对一关系中,一对一的关系模型定义在 调用的主动方 模型中,上述中的 theme 模型;
  2. 一对一关系中,在有外键的模型中 使用 belongsTo ; 没有外键的模型 使用 hasOne;

相关文章

  • 解读‘一对一’对应关系

    解读一对一 hasOne 和 belongsTo 一对一怎么定义 一对一的关系要定义在 主动调用的调用方例如:本项...

  • hibernateQuery

    hibernate中的对应关系 一对一对应关系 人与身份证之间的关系就是一对一关系 类中一对一关系的体现 hibe...

  • day3-django模型对应关系

    模型的对应关系,一对一,一对多,以及多对多的关系。 模型对应关系描述如下:1:1 一对一 OneToOneFi...

  • 模型关联关系

    模型的对应关系主要分为:一对一,一对多,以及多对多。 模型对应关系描述如下:1:1 一对一 OneToOneFie...

  • Mybatis(三)Mybatis映射开发

    4.1 一对一 4.1.1 表对应关系, 一个订单对应一个用户 4.1.2 实体对应关系 4.1.3 配置 Ord...

  • Django 模型间的关系

    Django模型之间的关系 Django模型的对应关系,一对一,一对多,以及多对多的关系。 一对一 OneToOn...

  • 04-Django模型高级

    一、模型对应关系 二、关系之1:1 使用models.OneToOneField()进行关联.绑定一对一关系,默认...

  • 04-Django模型高级

    一、模型对应关系 二、关系之1:1 使用models.OneToOneField()进行关联.绑定一对一关系,默认...

  • 04-Django模型高级

    一、模型对应关系 二、关系之1:1 使用models.OneToOneField()进行关联.绑定一对一关系,默认...

  • 04-Django模型高级

    一、模型对应关系 二、关系之1:1 使用models.OneToOneField()进行关联.绑定一对一关系,默认...

网友评论

      本文标题:解读‘一对一’对应关系

      本文链接:https://www.haomeiwen.com/subject/bweocftx.html