مهدی اسدی
2 ماه پیش توسط مهدی اسدی مطرح شد
1 پاسخ

روش تبدیل و ذخیره تاریخ در جدول بانک اطلاعاتی در لاراول

سلام ،
من کلی گشتم و یک تابع پیدا کردم که تاریخ جلالی رو با استفاده از cabon به تاریخ و فرمت میلادی تبدیل کنه ، تا اینجا مشکلی نیست و تاریخ تبدیل به میلادی میشه ، مشکل اینجاست که این تابع رو کجا بیارم و چطور در تابع store کنترولر مقدارش رو به جدول بفرستم.
اسم فیلد TaskDate هستش ، تابع رو در مدل قرار دادم به این شکل :

 public function  setTaskDateAttribute($TaskDate)
{
    $this->attributes['TaskDate'] = CalendarUtils::convertNumbers($TaskDate, true);
    $this->attributes['TaskDate'] = CalendarUtils::createCarbonFromFormat('Y-m-d', $this->attributes['TaskDate'])->format('Y-m-d');
}

در کنترولر هم تابع store را اینطور نوشتم :

public function store(taskRequestStore $request,TaskService $service)
    {

       $attributes = $request->all(['Caption','TaskDsc',
                                    'office_id','TaskDate','Priority_id',
                                    'Type','Taskfile','StartDate','EndDate','Deadline',
                                    'Commander_id','OtherOffices','Status_id'
                                    ]);

        $office = $service->create($attributes)->tosql();
        return redirect()->back()->with(['create'=>'اطلاعات ثبت شد']);
    }

حالا مشکل اینجاست که اون مقداری که به TaskDate در تابع مدل دادم هیچ تاثیری روی مقدار ذخیره شده در جدول DB نمی گذاره و میخواد همون تاریخ جلالی رو ذخیره کنه که خطا می ده.
یکی کمک کنه ممنون میشم.گیر کردم.


ثبت پرسش جدید
حسین افتخارراد
تخصص : نال کد
@hosseinradvictor 2 ماه پیش مطرح شد
0

برای تبدیل تاریخ میتوانید از پکیج زیر استفاده کنید شمسی به میلادی و برعکس رو انجام میدهد
https://github.com/hekmatinasser/verta
و پیشنهاد میکنم این بخش داکیومنت لاراول رو مجدد مطالعه بفرمایید شما هر چقدر کلین و طبق استاندارد کد رو بنویسید باعث میگردد اگر فرد دیگری روی کد شما خواست کار کنه سردرگم نشه و کد کمتری هم نوشته شود
https://laravel.com/docs/10.x/eloquent#inserts


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

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