راکت
شریفی
شریفی
توسط شریفی مطرح شد
6 پاسخ

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

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


ثبت پرسش جدید
Morteza Khodarahmi
Morteza Khodarahmi
تخصص : Backend Developer
@mrkhodarahmii4 سال پیشمطرح شد
0

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

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

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


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

البته این روش به ذهن من رسید حتما دوستان پیشنهادات بهتری دارن

شریفی
شریفی
@ezat.rebin4 سال پیشمطرح شد
0

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


Morteza Khodarahmi
Morteza Khodarahmi
تخصص : Backend Developer
@mrkhodarahmii4 سال پیشمطرح شد
0

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

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

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


شریفی
شریفی
@ezat.rebin4 سال پیشمطرح شد
0

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


Morteza Khodarahmi
Morteza Khodarahmi
تخصص : Backend Developer
@mrkhodarahmii4 سال پیشمطرح شد
0

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


حسن حکمتی
حسن حکمتی
تخصص :برنامه نویس وب و بلاکچین
@hekmati4 سال پیشمطرح شد
0

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

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

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

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