所有的关系使用方法with(关系 funciton.name)

一对一

hasOne(当前表关系字段,远端表模型,远端表字段)关系 当前表关系字段 = 远端表模型.远端表字段

  1. function tag()
  2. {
  3. return $this->hasOne('tag_id',Tag::class,'id');
  4. }

一对多

hasOne(当前表关系字段,远端表模型,远端表字段)关系 当前表关系字段 = 远端表模型.远端表字段

  1. function tag()
  2. {
  3. return $this->hasMany('tag_id',Tag::class,'id');
  4. }

多态一对一

  1. function comment()
  2. {
  3. $this->morphOne([
  4. 1 => Picture::calss, //当type=1时标示图片id
  5. 2 => Article::class, //当type=2 时 是文章id
  6. ],[
  7. 1 => 'pic_id', //当type=1时 type_id = pic_id
  8. 2 => 'article_id'//当type=2 时 type_id = article_id
  9. ],'type','type_id');
  10. }

多态一对多

  1. function comment()
  2. {
  3. $this->morphMany([
  4. 1 => Picture::calss, //当type=1时标示图片id
  5. 2 => Article::class, //当type=2 时 是文章id
  6. ],[
  7. 1 => 'pic_id', //当type=1时 type_id = pic_id
  8. 2 => 'article_id'//当type=2 时 type_id = article_id
  9. ],'type','type_id');
  10. }