gpt4 book ai didi

sql - 如何使用 Laravel eloquent 在数据透视表上执行额外的内部连接

转载 作者:行者123 更新时间:2023-12-05 01:08:52 26 4
gpt4 key购买 nike

我有四个表:

  • 食物:身份证、姓名
  • 用户:ID、姓名
  • 膳食类型:身份证、姓名
  • food_user:id、food_id、user_id、mealtype_id

  • 食物和用户是多对多的关系
    mealtype 和 food_user 是一对一的关系

    最后,我想要一个具有以下属性的模型实例:
    食物名称、用户名称、膳食类型名称

    正常的 sql 将是:
    SELECT f.name, u.name, m.name FROM foods f
    INNER JOIN food_user fu ON f.id = fu.food_id
    INNER JOIN users u ON fu.id = u.id
    INNER JOIN mealtypes m ON fu.mealtype_id = m.id

    谢谢你的帮助!

    最佳答案

    你可以用 Eloquent 和 Query Builder 做这样的事情,假设你有一个名为 Food 的模型:

    $foods = Food::join('food_user', 'foods.id', '=', 'food_user.food_id')
    ->join('users', 'food_user.user_id', '=', 'users.id')
    ->join('mealtypes', 'food_user. mealtype_id', '=', 'mealtypes.id')
    ->get();

    还有一个关于查询构建器的很好的文档: http://www.laravel.com/docs/queries

    关于sql - 如何使用 Laravel eloquent 在数据透视表上执行额外的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552481/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com