能理解文档的多对多例子,但是这一章的多对多还是有点蒙圈,比如是怎么关联上『粉丝』表的?

file
belongsToMany()方法的第二个参数,它只是‘user_user’的别名吧,跟‘followers’表应该没什么关系,那为什么是user关联user,而不是user关联followers,即user_followers。
理解力有待提高啊,这一章要是有图解就更好了。:relieved:

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

多对多

多对多可以通过belongsToMany方法来实现

    // Models/User

    function follower

    return $this->belongsToMany(User::class, 'followers', 'user_id', 'follower_id');

其中User::class根据中间表followers获取数据用的,比如说followers中间表有这样的数据

    // followers
    id  user_id follower_id
    1   2       3
    2   3       2

其中user_id就是第三个参数就是本表要在合并模型中外建名,然后follower_id就是根据user_id要获取的数据,上面的数据如果这样调用

    //id: 2
    $user->follower()

就会根据$user这个数据去合并表中找到所有user_id字段相连的follower_id数据,然后和传入的第一个参数获取对应的参数。根据follower_id去User模型表中获取对应的数据

最后得到

    id user_id follower_id
    1  2       3

    // user
    id ...   ...
    3  ...   ...

自己记的笔记,可能有点不对,不过我是这么理解的

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!