Laravel用于whereIn with子查询的多个列

时间:2017-07-19 06:29:39

标签: mysql laravel-5.2

在MySQL中,要搜索“WHERE IN”子句中的多个列,通常按以下方式执行:

where (column1, column2) in (select column1, column2 from table)

我试图在Laravel中获得与此相同的结果并尝试做类似的事情:

->whereIn(['column1', 'column2'], function($query){
            $query->select('column1', 'column2')
            ->from('table');
        })

我怎么能在Laravel上做与MySQL相同的事情呢?

1 个答案:

答案 0 :(得分:0)

你可以使用DB::raw来实现这一点:

->whereIn(DB::raw('(`column1`, `column2`)'), function($query){
        $query->select('column1', 'column2')
        ->from('table');
    })