🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ دانه نعمت‌زاده
استفاده از مقداری مورد نظر
تهماسب ابتکار حل شده توسط تهماسب ابتکار

سلام من برای افزودن محصول میخوام به این صورت عمل کنم که اعتبار سنجیم انجام بشه و فقط فیلد تاریخ ایجاد به صورت :

 'created_at' => Carbon::now(), 

اگ از خط کد زیر استفاده کنم دیگه نمی‌تونم اینو بهش بدم :

$product->create($request->all());

آیا باید از اکسسور استفاده کنم برای ست شدن این مقدار یا خیر؟ اگر راهکاری هست لطفا کامل بهم بگید تا یاد بگیرم

در حال حاضر مجبورم بصورت زیر کد بزنم :

$product->create([
'name' => $request->name,
.... ,
.... ,
.... ,
'created_at' => Carbon::now(),
]);

سلام. وقتتون بخیر

اکسسورها برای دریافت داده‌ها و اعمال تغییرات روی آنها هست.

 

میتونید از model mutators‌ها استفاده کنید که قبل از ذخیره داده در database، میتونید تغییرات مدنظرتون رو اعمال کنید: 

class Product extends Model
{
    public function setCreatedAtAttribute($value)
    {
        $this->attributes['created_at'] = Carbon::now();
    }
}

و اگر هم که میخواید لاراول مدیریت کنه این فیلد رو می‌تونید پراپرتی timestamps رو ست کنید:

class Product extends Model
{
    public $timestamps=true;
}

که لاراول به صورت اتوماتیک مدیریت میکنه.

 

 

بهترین پاسخ
تهماسب ابتکار ۰۸ آذر ۱۴۰۳، ۱۶:۵۷