من برای ساخت کوئری از DB::table استفاده میکنم و 3 جدول رو جوین میکنم
توی صفحه ی جستجو ، 4 تا رادیو باتن دارم و چهار تا فیلد که اگه هر کدوم پر باشه ، باید بر اساس اون فیلدها سرچ رو انجام بدم و paginate هم بکنم
دوستان میتونن راهنمایی کنن ؟
سلام دوست عزیز
به چند روش میتونی انجام بدی کارتو
یک where بزاری و توی اون شروط چک کردن داشته باشی که اگر نیاز بود where بشه مثل کد زیر
->where(function ($query) use ($meals){
if ($meals->on_breakfast){
$query->orWhere('on_breakfast',$meals->on_breakfast);
}
if ($meals->on_lunch){
$query->orWhere('on_lunch',$meals->on_lunch);
}
})
میتونی کدت رو get نکنی و بریزی توی یک متغییر و در ادامه مرحله مرحله به کدت where اضاف کنی
if ($this->status){
$orders=$orders->where('status',$this->status);
}
if ($this->payment_type){
$orders=$orders->where('payment_type',$this->payment_type);
}
و در اخر که کارت با چک کردن تموم شد کدت رو اجرا کنی شرط هاشو
$orders=$orders->orderBy('id','desc')->paginate($this->paginate);
شما تا وقتی دستور paginate و یا get و این ها رو اجرا نکنی کدت به صورت query هست و منتظر دریافت دستورات بیشتر
میتونی توی چند خط و شرط هی به کدت شرط بدی و اخر اجراش کنی
ممنون . دیده بودمش . ولی من از مدل استفاده نمیکنم
از DB::table استفاده میکنم .
مشکل من اینه
سلام دوست عزیز
به چند روش میتونی انجام بدی کارتو
یک where بزاری و توی اون شروط چک کردن داشته باشی که اگر نیاز بود where بشه مثل کد زیر
->where(function ($query) use ($meals){
if ($meals->on_breakfast){
$query->orWhere('on_breakfast',$meals->on_breakfast);
}
if ($meals->on_lunch){
$query->orWhere('on_lunch',$meals->on_lunch);
}
})
میتونی کدت رو get نکنی و بریزی توی یک متغییر و در ادامه مرحله مرحله به کدت where اضاف کنی
if ($this->status){
$orders=$orders->where('status',$this->status);
}
if ($this->payment_type){
$orders=$orders->where('payment_type',$this->payment_type);
}
و در اخر که کارت با چک کردن تموم شد کدت رو اجرا کنی شرط هاشو
$orders=$orders->orderBy('id','desc')->paginate($this->paginate);
شما تا وقتی دستور paginate و یا get و این ها رو اجرا نکنی کدت به صورت query هست و منتظر دریافت دستورات بیشتر
میتونی توی چند خط و شرط هی به کدت شرط بدی و اخر اجراش کنی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟