默认的关联关系表名称应该是 user_user 才对吧?

问答 netAir ⋅ 于 1个月前 ⋅ 最后回复由 Corner 1个月前 ⋅ 151 阅读

默认的关联关系表名称不应该是user_user么?为什么教程中这么说:file
还是说我哪里理解错了?

成为第一个点赞的人吧 :bowtie:
回复数量: 6
  • OneStep
    1个月前

    user_user ??? user 关联user 表?
    如果orders表和 users表通过第三张表关联: order_user
    自定义表名 my_orders的话是

    return $this->belongsToMany('App\Order', 'my_orders', 'user_id', 'order_id');
  • netAir
    1个月前

    @OneStep 您说的我明白,希望您可以看一下这个教程页.
    我的意思是,这里的粉丝关系,关注与被关注的都是用户(users表),那关联表的默认名称不应该叫做user_user么.教程里却写的默认应为followers_user

  • OneStep
    1个月前

    抱歉没有购买那个教程看不了原内容
    不过我大体应该猜到了
    教程里面应该建立了一张followers表,用 user_id 被关注的userIDfollower_id 粉丝的userID用来关联user表的ID
    当然你要理解为user_user 也没问题,不过用follower_user来命名好像比较容易理解(没看注释也能知道是粉丝和user表的关联表)

  • netAir
    1个月前

    @OneStep
    不好意思,以为在教程下的提问只有教程下面才看得到,抱歉.
    我是想说默认的表名应该不是follower_user吧,就是说教程中那段话是否说错了(问题中的图).
    如果这里belongsToMany方法第二个参数如果缺省的话,表名应该为user_user吧.

  • OneStep
    1个月前

    @netAir 如果缺省的话的确是user_user, 不过这样命名不利于理解

  • Corner
    1个月前

    是这样,你可以看一下 belongsToMany 的实现方法,他默认所取的关联表名其实是你所定义的方法名字,也就是说,无论在关联什么的情况下都是这样的。它的方法应该是public function followers(){}。这个可以想象一下父子菜单或者城市表的结构。

暂无评论~~

  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!