首页 > 其他 > 详细

laravel orm

时间:2019-02-21 17:10:18      阅读:143      评论:0      收藏:0      [点我收藏+]

###多对多关系

多对多关系和之前的关系完全不一样,因为多对多关系可能出现很多冗余数据,用之前自带的表存不下了。

我们定义两个模型:Article 和 Tag,分别表示文章和标签,他们是多对多的关系。表结构应该是这样的:

article: id ... ...
tag: id ... ...
article_tag: article_id tag_id

在 Model 中使用:

<?php

class Tag extends Eloquent {

  protected $table = ‘tags‘;

  public function belongsToManyArticle()
  {
    return $this->belongsToMany(‘Article‘, ‘article_tag‘, ‘tag_id‘, ‘article_id‘);
  }
}

需要注意的是,第三个参数是本类的 id,第四个参数是第一个参数那个类的 id。

使用跟 hasMany 一样:

$tagsWithArticles = Tag::take(10)->get()->belongsToManyArticle()->get();

这里会得到一个非常复杂的对象,可以自行 var_dump()。跟大家说一个诀窍,var_dump() 以后,用 Chrome 右键 “查看源代码”,就可以看到非常整齐的对象/数组展开了。

laravel orm

原文:https://www.cnblogs.com/agang-php/p/10413590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!