سلام دوستان من می خوام توی لاراول محصولاتم مثل دیجی کالا اون هایی که ناموجود هستند رو همیشه توی آخر لیست ببینم حتی موقع پیجینیشن برای این کار چیکار کنم . تشکر
سلام
میتونی اونایی که ناموجود هستن رو جدا کنی مثلا اگه محصول ناموجود شد تو دیتابیس status رو برابر صفر قرار بدی.
بعد برای نمایشش میتونی این کارو کنی
$products = Product::all();
$unavailable = Product::where('status', 0)->get();
حالا فقط کافیه که تو view اینارو لوپ کنی با foreach
@foreach($products as $product)
...
@endforeach
@foreach($unavailable as $item)
...
@endforeach
البته این روش به ذهن من رسید حتما دوستان پیشنهادات بهتری دارنممنون فقط من دنبال روشی هستم که یا یک کوئری نوشته بشه
شاید پاسخ شما همینجا باشد
چجوری با یک کوئری
ببینید من این کار رو دستی انجام دادم و جدا کردم بعد تو ویو پشت هم نمایششون دادم.
اما روش های دیگه هم وجود داره
به این لینک هم میتونید سر بزنید
سلام @ezat.rebin
ابتدا یک ستون به تیبل محصول با نام exist اضافه کنید برای وضعیت موجود بودن یا نبودن کالا.
در ادامه می تونید برای گروه بندی کردن کالای موجود و ناموجود از دستور orderBy در کوئری خودتون استفاده کنید برای سورت کردن به صورت صعودی یا نزولی هم آرگومان دوم رو desc قرار بدید یا اینکه از orderByDesc استفاده کنید.
//1
->orderBy('exist')
//2
->orderBy('exist', 'desc')
//or
->orderByDesc('exist')