我有下一个 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 的结果。
所以问题是如何放置而不是“?” ID 数组?
最佳答案
看看这里的文档,向下滚动到“Using Where In With An Array”:
http://four.laravel.com/docs/queries
whereIn方法接受一个数组,所以直接传入$var,不需要内爆。
->whereIn('device_id', $var)
关于php - Laravel 4 where in condition with DB::select 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19977291/