راکت

نمایش محصولات ناموجود آخر لیست محصولات مثل دی جی کالا

6 پاسخ

سلام دوستان من می خوام توی لاراول محصولاتم مثل دیجی کالا اون هایی که ناموجود هستند رو همیشه توی آخر لیست ببینم حتی موقع پیجینیشن برای این کار چیکار کنم . تشکر

شریفی
شریفی
@ezat.rebin
ثبت پرسش جدید

پاسخ‌ها

6
Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

سلام
میتونی اونایی که ناموجود هستن رو جدا کنی مثلا اگه محصول ناموجود شد تو دیتابیس status رو برابر صفر قرار بدی.
بعد برای نمایشش میتونی این کارو کنی

$products = Product::all();
$unavailable = Product::where('status', 0)->get(); 

حالا فقط کافیه که تو view اینارو لوپ کنی با foreach


@foreach($products  as  $product)
...
@endforeach
@foreach($unavailable  as  $item)
...
@endforeach

البته این روش به ذهن من رسید حتما دوستان پیشنهادات بهتری دارن
شریفی
شریفی
@ezat.rebin

ممنون فقط من دنبال روشی هستم که یا یک کوئری نوشته بشه

شاید پاسخ شما همین‌جا باشد

Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

همین رو میشه با یک کوئری نوشت

$products = Product::all();
$unavailable = $products->where('status', 0); 

برای درک بهتر اینطوری نوشتم

شریفی
شریفی
@ezat.rebin

چجوری با یک کوئری

Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

ببینید من این کار رو دستی انجام دادم و جدا کردم بعد تو ویو پشت هم نمایششون دادم.
اما روش های دیگه هم وجود داره
به این لینک هم میتونید سر بزنید

حسن حکمتی
حسن حکمتی
@hekmati

تخصص: برنامه نویس وب و بلاکچین

سلام @ezat.rebin
ابتدا یک ستون به تیبل محصول با نام exist اضافه کنید برای وضعیت موجود بودن یا نبودن کالا.
در ادامه می تونید برای گروه بندی کردن کالای موجود و ناموجود از دستور orderBy در کوئری خودتون استفاده کنید برای سورت کردن به صورت صعودی یا نزولی هم آرگومان دوم رو desc قرار بدید یا اینکه از orderByDesc استفاده کنید.

//1
->orderBy('exist')
//2
->orderBy('exist', 'desc')
//or
->orderByDesc('exist')

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

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