jafar
3 سال پیش توسط jafar مطرح شد
9 پاسخ

تبدیل تاریخ میلادی به شمسی و ارسال به view در لاراول

با سلام به همه.
من تاریخ رو توی دیتابیس شمسی نگه میدارم به صورت 2021-07-26 و موقع نمایش و ذخیره با پکیج ورتا اون رو تبدیل میکنم .
حالا مشکلم اینه که میخوام تاریخ رو بصورت 1400/05/17 به view م بفرستم و نمیتونم . یعنی نمیدونم چیکار باس بکنم .

public function edit(Request $request, $id)
    {
        if (intval($id)) {
            $productEditItem = ProductHeader::find($id);
            return response()->json([
                'status' => 200,
                'productEditItem' => $productEditItem,
            ]);
        }
    }

چون سمت view یه تایم پیکر دارم که باید تاریخ رو به فرمت 1400/05/17 بهش پاس بدم .


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

درود

شما آیتمی رو که داری ادیت میکنی داری دیگه -> متغیر productEditItem
کافیه فیلد created_at رو بگیری و با وررتا تبدیلش کنی:

$jalaliDate = verta($productEditItem->created_at)->format('Y/m/d');

حالا کافیه متغیر jalaliDate رو به ویوت پاس بدی


۱ نکته دیگه اینکه میتونی از Route Model Binding هم استفاده کنی:

public function edit(Request $request, ProductHeader $productItem)
    {
    $jalaliDate = verta($productEditItem->created_at)->format('Y/m/d');
    return response()->json([
        'status' => 200,
        'productEditItem' => $productEditItem,
        'jalaliDate' => $jalaliDate 
    ]);

    }

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


سعید
تخصص : برنامه نویس
@saeed.amiri7676 3 سال پیش مطرح شد
0

سلام از این پکیج استفاده کنید داکیومنت کاملی هم داره این کار که شما میخواهید رو هم انجام میده

https://github.com/morilog/jalali


jafar
@jafarpalideh 3 سال پیش مطرح شد
0

ممنون بابت پاسختون . ولی جواب بنده این نبود .
من از ورتا استفاده میکنم دوست خوبم .
میخواستم بدونم چطور میتونم تاریخ رو تبدیل کنم و ارسال کنم سمت ویو.
البته هر پکیج دیگه هم استفاده کنم همین موضوع رو دارم .


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

درود

شما آیتمی رو که داری ادیت میکنی داری دیگه -> متغیر productEditItem
کافیه فیلد created_at رو بگیری و با وررتا تبدیلش کنی:

$jalaliDate = verta($productEditItem->created_at)->format('Y/m/d');

حالا کافیه متغیر jalaliDate رو به ویوت پاس بدی


۱ نکته دیگه اینکه میتونی از Route Model Binding هم استفاده کنی:

public function edit(Request $request, ProductHeader $productItem)
    {
    $jalaliDate = verta($productEditItem->created_at)->format('Y/m/d');
    return response()->json([
        'status' => 200,
        'productEditItem' => $productEditItem,
        'jalaliDate' => $jalaliDate 
    ]);

    }

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


محمدحسن فرهادی
تخصص : علاقه مند به کد نویسی
@farhadi 3 سال پیش مطرح شد
0

@ali.bayat
مهندس من ازین پکیج استفاده میکنم ولی به طرز عجیبی تاریخ ها همه درسته ولی ساعت 00:00 میخوره. دلیلشو میدونید؟


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

@farhadi
با تنظیمات پیش فرض خود پکیج، من این چنین مشکلی نداشتم.
به چه شکل از متد format استفاده میکنی؟


محمدحسن فرهادی
تخصص : علاقه مند به کد نویسی
@farhadi 3 سال پیش مطرح شد
0

@ali.bayat الان دیدم بدون پکیج جلالی هم تایم ها 00:00 میزنه!
ممکنه چون دارم با seeder جدول پر میکنم این اتفاق بیفته؟


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

@farhadi

اگر توی دیتابیس هم زمان نداری، خیلی طبیعیه که معادل فارسیش هم زمان نداشته باشه..
البته ۰۰:۰۰ میشه اولین دقیقه از شبانه روز که احتمالش هست از همون Seeder ها باشه

با تینکر یک یوزر جدید بساز و تستش کن


alireza
تخصص : توسعه بک اند وب , برنامه نویس
@alighdev 3 سال پیش مطرح شد
0

با پکیج ورتا کار نکردم ولی میتونید از پکیج
https://github.com/morilog/jalali

استفاده کنید نصبش که اسونه داخل سایت هم نوشته

استفاده ازش به صورت زیادی هست ولی برای چیزی که شما میخوای بعد از نصب اون پکیج اینجوری میشه

{{ jdate($article->created_at)->format('%Y/%m/%d') }}

@jafarpalideh


jafar
@jafarpalideh 3 سال پیش آپدیت شد
0

حالا من سمت ویو تاریخ رو شمسی و بصورت 1400/05/19 میگیرم .
چطور با پکیج ورتا میتونم به صورت میلادی (09-08-2021) ذخیره کنم ؟ کاری که خودم کردم اینه و جواب میده . ولی حتما راه بهتر و راحت تری هم هست .

$product_date = $request->input('product_date');
        $dateAll = explode('/', $product_date);
        $y = $dateAll[0];
        $m = $dateAll[1];
        $d = $dateAll[2];
        $product_date = Verta::getGregorian($y, $m, $d);
        $yg = $product_date[0];
        $mg = $product_date[1];
        $dg = $product_date[2];
        $product_date = $yg . "-" . $mg . "-" . $dg;

@ali.bayat


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

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