Laravel:whereIn with variable

时间:2018-01-24 10:59:03

标签: php sql database laravel where-in

我试图收集属于变量$ sections中发生在他们身上的部分的所有记录。但只有第1节的人接我。有什么建议吗?

$sections = '1,2,3';

$data = News::where('active', '1')
        ->whereIn('section_id', [$sections])
        ->get();

如果我在查询中用$ sections替换值,这可行,但是如果我使用变量$ sections,它就不起作用。

感谢。

2 个答案:

答案 0 :(得分:5)

使用whereIn()时,必须传递数组而不是字符串:

$sections = explode(',', '1,2,3');

答案 1 :(得分:0)

你的$ sections变量是一个字符串。并且您将该字符串传递给数组,而不是字符串中的每个单独的数字。

例如:

$users = DB::table('users')
                ->whereIn('id', [1, 2, 3])
                ->get();