سلام وقت بخیر
ببخشید من میخوام یه بخش به وب سایت اضافه کنم به اسم آرشیو مقالات و میخوام سال به سال دسته بندی بشن
گوئری پایین رو براش نوشتم ولی وقتی میخوام تاریخ رو به شمسی برگردونم نمایش بدم تاریخ ا348 شمسی رو بهم برمیگردونه
مشکل چیه؟
$archives = Post::selectraw('*')->orderby('created_at','desc')->get()->groupBy(function($date) {
return Carbon::parse($date->created_at)->format('Y');
});
برای نمایش فارسی هم از morilog jalali استفاده میکنم
به پیشنهاد بعضی دوستان ورتا هم نصب کردم اما پاسخ درستی نداد بهم
حتما باید ماه و سال رو باهم بدم درست در بیاد که من نمیخوام ایجوری بشه تعداد لینک هام زیاد میشه میخوام سالانه باشه
$archives = Post::selectraw('*')
->orderby('created_at','desc')
->get()
->groupBy(function($date) {
return \Morilog\Jalali\Jalalian::forge($date->created_at)->format('%Y');
});
سلام
ممنونم ولی باز این یه مشکلی داره
تو صفحه اصلی که میخوام بخش آرشیو رو بذارم اوکیه سالها رو نمایش میده اما وقتی میخوام تو صفحه دیگه تمام مقالات مثلا سال 1400 رو نشون بدم باید 1400 رو از طریق href بفرستم به صفحه مورد نظر بر اون اساس کویری بزنم تا مقالات مرتبط با سال رو بیارم اما این تاریخ شمسی هست و وقتی میخوام کوئری بزنم هیچی بهم برنمیگردونه و کالکشن خالی بهم میده وقتی هم میام اونجا میخوام همینو دوباره به میلادی تبدیل کنم برای ارسال به کویری همه رو سال 2023 برمیگردونه حالا میخواد 1400 باشه 1401 باشه یا 1402 فرق نداره کلا 2023 بهم میده
این میشه بهم راهنمایی کنید چطور میتونم بدون کوئری مجدد نمایشش بدم که نیاز به تغییر نداشته باشه؟
میتونی هر دوتا تاریخ میلادی و شمسی را توی ارشیو صفحه نخست استفاده کنی مثلا 1402 برای نمایش به کاربر ولی توی href و کارهای پشت برنامه میلادی رو ارسال کنی
ممنون از وقتی که برای من گذاشتید
به عنوان سوال آخر اینی که گفتید هم تاریخ شمی هم میلادی رو با هم استفاده کنم کوئری بالا رو چطور باید تغییر بدم چون این فقط تاریخ شمسی میفرسته و نمیشه تبدیلش کنی
$archives[0] = Post::selectraw('*')
->orderby('created_at','desc')
->get()
->groupBy(function($date) {
return \Morilog\Jalali\Jalalian::forge($date->created_at)->format('%Y');
});
$archives[1] = Post::selectraw('*')
->orderby('created_at','desc')
->get()
->groupBy(function($date) {
return $date->created_at)->format('%Y')(;
});
الان دو تا ارایه به view میفرستی که نظیر به نظیر به هم مرتبط هستند
فقط کد ها یکم غلط املایی داره
سلام دوست عزیز
مشکلتون که به نظر حل شده اما توی همچین حالتی که پست های سال ب سال رو میخوایید قطعا داده ها و تعدادشون زیاد هست و درخواستشون به صورت یکجا شاید نیاز نباشه
پیشنهاد میکنم طوری طرح بریزید که داده ها بعد از انتخاب سال مورد نظر درخواست بشن
یا از livewire استفاده کنید و یا از ajax
با یه لودینگ زیبا هم اون انتظار رو حل کنید
هرچند که قطعا این موارد رو بهتر از من میدونید و حتما نیاز پروژتون این نوع نمایش هست که انتخاب کردید . 😅😅
سلام
ممنون از پاسختون
خوب همینطور هست سال های مورد نظر مثلا ۱۴۰۰ - ۱۴۰۱ و ۱۴۰۲ لیست میشه و روی هر سالی،که کلیک میکنی میره صفحه مورد نظر و مقالات متناسب با سال انتخابی لیست میشه
من مشکلم فقط بخش تاریخ بود که نمیشد تبدیلش کرد
هنوز متاسفانه نتونستم با لایووایر کار کنم اما درباره کد ajax یه توضیح کوچیک میدید؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟