2016-03-28 3 views
-3

Как выполнить этот запрос в laravel. ?Выполнение запроса

select d1.update_id from (select update_id, count(update_id) 
    as ct from updates_tags where tag_id in (67,33,86,55) group by 
    update_id) as d1 where d1.ct=4 
+0

для этих типов запроса вы можете использовать whereRaw() –

+0

не получает результатов. Я хочу использовать это для фильтра на основе t_id. Если несколько t_id содержат один и тот же u_id, тогда он должен быть напечатан. – Ankit

ответ

0

Вы можете цепи where условия с красноречивым, каждый прикован один оценивается как and.

$update = Tag::whereIn('t_id',$tags)->whereIn('u_id',$tags)->where(/*more and conditions you could need*/)->lists('u_id')

Edit: Если вам нужны те, совпадающие с u_id считают это:

$update = DB::table('tags') 
->select('t_id', 'u_id', DB::raw('count(*) as total')) 
->whereIn('t_id',$tags) 
->where('total','=',count($tags)) 
->groupBy('u_id') 
->lists('u_id'); 
+0

Я хочу использовать это для фильтра на основе t_id. Если несколько t_id содержат один и тот же u_id, тогда он должен быть напечатан. Может быть несколько t_id за время 2 или 4, как я могу проверить? – Ankit

+0

vivoconunxino: Я хочу, чтобы список u_id не был t_id. Я начинаю в ларавеле. Если t_id (11,21) то же u_id, то мне нужно, чтобы u_id. – Ankit

+0

Пожалуйста, проверьте и попробуйте изменения – vivoconunxino

Смежные вопросы