ftp
5 سال پیش توسط ftp مطرح شد
5 پاسخ

شرط در query

@ali.bayat
@juza66

من میخوام تو این query شرطی قرار بدم که هر name_channel رو چک کنه ببینه ازش 3 تا هم نام name_channel_en وجود داشت چاپ کنه در غیر این صورت چاپ نکنه

        $channel = DetailsModel::select('id','name_channel','image_channel','tedad_bazdid_channel')->groupBy('name_channel')->whereNotNull('name_channel')->where('tedad_bazdid','>',2000)->inRandomOrder()->orderby('id','desc')->take(5)->get();

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

از متد map استفاده کن تا کالکشن رو Iterate کنی .. شرط داخلش هم شبیه زیر میشه:

Model::where('name_channel', 'Esme Morede Nazar')->count() > 3

ftp
تخصص : ساده
@ftp 5 سال پیش مطرح شد
0

@ali.bayat
متوجه نشدم یعنی یک کوئری دیگه بنویسم و اون کوئری رو داخل کوئری خودم قرار بدم


ftp
تخصص : ساده
@ftp 5 سال پیش مطرح شد
0

@ali.bayat
@khanzadimahdi
اینو کسی میتونه شرح بده من متوجه نشدم


ftp
تخصص : ساده
@ftp 5 سال پیش مطرح شد
0

@juza66

@ali.bayat
الان در این کد whereکار نمیکنه امکان داره از selectباشه یا نه


woz
تخصص : fan of open source world
@wozniak 5 سال پیش آپدیت شد
0

فکر کنم چیزی که @ali.bayat میگن این باشه:

     $channels = Channels::groupBy('name_channel')->
     whereNotNull('name_channel')->
     where('tedad_bazdid','>',2000)->
     inRandomOrder()->orderby('id','desc')->
     take(5)->
     get()->map(function($channel){  
                  return [  
                    'id' => $channel->id,
                    'name_channel' => $channel->name_channel,
                    'image_channel' => $channel->image_channel,
                    'tedad_bazdid_channel' => $channel->tedad_bazdid_channel,
                    'is_have_three_same_record' => Channels::where('name_channel', 'desired_name')->count() > 3                   
                 ];  
});

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام