->selectRaw("count(case when status = 'confirmed' then 1 end) as confirmed")
->selectRaw("count(case when status = 'unconfirmed' then 1 end) as unconfirmed")
->selectRaw("count(case when status = 'cancelled' then 1 end) as cancelled")
->selectRaw("count(case when status = 'bounced' then 1 end) as bounced")
->first();
- это тоже для постгреса?
https://dev.mysql.com/doc/refman/5.7/en/case.html
DB::table('property_values') ->select([ 'property_id', 'value', DB::raw('count(product_id) as attribute_count') ]) ->whereIn('property_id', [1,4,5,6,7,8,9,16]) ->groupBy(['property_id','value']) ->get();
спасибо! как раз уходил править. пример из ссылки по времени отрабатывает даже быстрее мемкеша. столкнулся с другой траблой, уже не из этого примера. гуглил, инфы не нашел. ситуация: есть список тот же item::lists('id'). по нему нам нужно определить категории у итемов этого списка. я делаю это запросом item::whereIn('id', $lists)->lists('id_cat'). далее foreach список категорий и в каждой нужно еще определить сколько из первого lists относится именно к ней. то есть это опять цикл тяжелых запросов item::whereIn('id', $lists)->where('id_cat', $id_cat)->get()->count(). как тут можно сократить? чувствуется, что прям тупа знаний не хватает((
Попробуй kalnoy/nestedset
Обсуждают сегодня