雄辩:加入多对多,得到一个领域

时间:2014-03-21 15:05:03

标签: php mysql sql laravel

这是查询在通常查询中的样子

SELECT `t3`.d FROM `t1` INNER JOIN `t3` ON `t3`.`t1_id` = `t1`.`id`
INNER JOIN `t2` ON `t2`.`id` = `t3`.`t2_id`
WHERE `td2`.a = 'hi'

其中t1对t2有多对多,t3为数据透视表。上面的查询将查询" a"列,并从数据透视表中获取d列中的数据透视数据。

如何在Eloquent中进行类似的查询?

1 个答案:

答案 0 :(得分:0)

假设您已正确设置关系,我认为这样可行。

return t2::first()->where('a','hi')->withPivot('d')->select(array('d'));

你甚至可以抓住' d'根据情况和多对多关系,不带旋转。如果你用t1拉t2,你应该能够默认从数据透视表中抓取数据。