[英]Laravel 4 where in condition with DB::select query
我有下一个SQL查询:
SELECT summary_table.device_id, WEEKDAY(summary_table.day) as day, AVG(summary_table.shows) as avg_shows
FROM (
SELECT device_id, day, sum(shows) as shows
FROM statistics
GROUP BY device_id, day
) as summary_table
WHERE device_id IN (1,2,3) // Just for example
GROUP BY device_id, WEEKDAY(day)
我应该如何使用Laravel执行此操作? 我把这个查询放在DB :: select函数中,但是如何将所有id放在“WHERE device_id IN(?)”条件下? 我尝试使用“array(implode(',',$ var))”但它不起作用。 如果我有像“13,14”那样的id,我只得到id = 13的结果。
所以问题是如何放置而不是“?” ids数组?
看一下这里的文档,向下滚动到“使用数组中的位置”:
http://four.laravel.com/docs/queries
whereIn
方法接受一个数组,所以直接传入$var
,不需要内爆。
->whereIn('device_id', $var)
"(...)
WHERE device_id IN (".implode(',', $var).")
(...)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.