草庐IT

php - Laravel 4 where in condition with DB::select 查询

coder 2024-04-25 原文

我有下一个 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/

有关php - Laravel 4 where in condition with DB::select 查询的更多相关文章

随机推荐