با سلام به همه.
من تاریخ رو توی دیتابیس شمسی نگه میدارم به صورت 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 بهش پاس بدم .
درود
شما آیتمی رو که داری ادیت میکنی داری دیگه -> متغیر 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 ها یکی باشه
ممنون بابت پاسختون . ولی جواب بنده این نبود .
من از ورتا استفاده میکنم دوست خوبم .
میخواستم بدونم چطور میتونم تاریخ رو تبدیل کنم و ارسال کنم سمت ویو.
البته هر پکیج دیگه هم استفاده کنم همین موضوع رو دارم .
شاید پاسخ شما همینجا باشد
@ali.bayat
مهندس من ازین پکیج استفاده میکنم ولی به طرز عجیبی تاریخ ها همه درسته ولی ساعت 00:00 میخوره. دلیلشو میدونید؟
@farhadi
با تنظیمات پیش فرض خود پکیج، من این چنین مشکلی نداشتم.
به چه شکل از متد format استفاده میکنی؟
@ali.bayat الان دیدم بدون پکیج جلالی هم تایم ها 00:00 میزنه!
ممکنه چون دارم با seeder جدول پر میکنم این اتفاق بیفته؟
با پکیج ورتا کار نکردم ولی میتونید از پکیج
https://github.com/morilog/jalali
استفاده کنید نصبش که اسونه داخل سایت هم نوشته
استفاده ازش به صورت زیادی هست ولی برای چیزی که شما میخوای بعد از نصب اون پکیج اینجوری میشه
{{ jdate($article->created_at)->format('%Y/%m/%d') }}
حالا من سمت ویو تاریخ رو شمسی و بصورت 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;