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

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

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


ثبت پرسش جدید
Morteza Khodarahmi
تخصص : Backend Developer
@mrkhodarahmii 3 سال پیش آپدیت شد
0

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

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

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


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

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

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

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


Morteza Khodarahmi
تخصص : Backend Developer
@mrkhodarahmii 3 سال پیش آپدیت شد
0

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

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

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


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

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


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

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


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

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

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

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

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