我想将mysql查询转换为laravel查询。
MySQL:
select product_id as urun from product_features
where feature_id = 58
or feature_id = 100
or (feature_id = 52 or feature_id = 48 or feature_id = 53)
group by product_id having(count(product_id)>2)
编辑:我不能在括号中加上“或”表达式。
答案 0 :(得分:2)
编辑:我不能在括号中加上“或”表达式。
可以。 :-)
您要看的是Laravel的parameter grouping功能。
$query->orWhere(function($query) {
$query->where('foo', 'bar')
->orWhere('foo', 'not-bar');
});
答案 1 :(得分:0)
我解决了这个问题。
$query = DB::table('product_features')->where('feature_id', 52)->orWhere('feature_id', 48)->orWhere('feature_id', 53)->
orWhere('feature_id', 100)->orWhere('feature_id', 58)->
select('product_id')->groupBy('product_id')->havingRaw("count(product_id) > 2")->get();