2016-03-28 17 views
-3

Bu sorgu laravel'de nasıl çalıştırılır. ?Sorgu Yürütme

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

Raw Sorguları kullanabilirsiniz Sorgulama nerede kullanabilirsinizRaw() –

+0

sonuç almıyor. Bunu t_id temelli filtre için kullanmak istiyorum. Birden fazla t_id aynı u_id içeriyorsa, yazdırılmalı. – Ankit

cevap

0

için anlamlı olan where koşullar altında, her zincir bir bir and gibi zincir değerlendirilir olabilir.

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

Düzenleme: Eğer u_id ile tesadüf olanları gerekiyorsa bu göz önünde bulundurun:

$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

Bunu t_id temelli filtre için kullanmak istiyorum. Birden fazla t_id aynı u_id içeriyorsa, yazdırılmalı. 2 veya 4 bir zamanda birden fazla t_id olabilir, nasıl kontrol edebilirim? – Ankit

+0

vivoconunxino: u_id listesinin t_id olmasını istemiyorum. Ben labirentte dilenci oluyorum. Eğer t_id (11,21) aynı u_id ise o zaman u_id'e ihtiyacım var. – Ankit

+0

Lütfen, kontrol edin ve düzeltmeleri deneyin. – vivoconunxino