我有四个表:
食物和用户是多对多的关系
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/