我有四个表:如何执行在枢轴表的更多内部联接与laravel雄辩
- 食物:ID,名称
- 用户:ID,名称
- mealtypes:ID,名称
- food_user:ID,food_id,USER_ID,mealtype_id
食物和用户有许多一对多的关系 mealtype有一到一个R与food_user
在端elationship我想有具有以下性质的模型的一个实例: food.name,users.name,mealtype.name
正常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
感谢您的帮助!
感谢您的回复,但是,由于某种原因,返回的对象显示用户的姓名正确,但只有mealtype_id而不是它的名字,可能是什么原因? – roelleor
我现在知道,当两个表具有相同的列名时,会发生这种情况。 – roelleor
加入之前,您可以执行如下操作: Food :: select('users.name as user_name','foods.name as food_name','mealtypes.name as mealtype_name') - > joins()... –