使用输入数组中的IN在laravel中过滤数据透视表

时间:2016-05-19 13:50:43

标签: laravel eloquent laravel-5.2

我正在尝试从数据透视表中过滤数据。我的数据透视表是这样的:

Treatment_products:
treatment_product_id   treatment_id   product_id   qty
65                     29             29           22
66                     29             26           12
67                     22             34           26

我正在使用这个mysql查询,它提供了我想要的完美输出。

SELECT * FROM treatments_products 

WHERE (product_id,qty) IN ((29,2334),(29,23343),(26,0)) AND treatment_id = 29

我想在laravel中做同样的事情。我在stackoverflow上找到了一个链接,其中有人提到使用wherepivot我试图这样做但是无法找到结果。

$treatments = Treatment::with(array('products'=>function($query) use ($whereIn){
            $query->wherePivot('product_id,qty','IN',$whereIn);
        }))->get();

有人可以告诉我,我做错了什么,或者我怎么能在laravel做到这一点?

感谢。

0 个答案:

没有答案