اذهب إلى المحتوى

السؤال

نشر

أنا أقوم بإنشاء تطبيق باستخدام لارافيل Laravel عبارة عن مدونة بسيطة. وعند إنشاء منشور جديد، تكون قيم الأعمدة "created_at" و "updated_at" كما يلي:

2022-04-10 14:04:11

ولكن كيف أقوم بتغير شكل هذه القيم بحيث تحتوي على تاريخ اليوم فقط:

2022-04-10

هل يمكن عمل هذا الأمر في لارافيل Laravel أم علي أن أقوم بإنشاء حقل جديد مخصص لهذا الأمر؟

Recommended Posts

  • 2
نشر

يمكننا إضافة الدوال  accessor methods للنموذج لديك وهو post لتعديل قيم الخواص من النموذج قبل قراءتهم وكتابتهم get - set.

حيث نعتمد على الدالة formate لتطبيق تنسيق الوقت المطلوب

public function getCreatedAtAttribute($date)
{
    return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d');
}

public function getUpdatedAtAttribute($date)
{
    return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d');
}

سيظهر التاريخ بالشكل التالي:

$post = Post::find(1);

echo $post->created_at; // only Y-m-d 

مع الانتباه أنه عند تعريف الجداول في ملفات التهجير نستخدم الصنف date

$table->date('created_at');
$table->date('updated_at');

إن اقتصر استخدامك للتحويل (صيغة التاريخ) في مكان محدد ضمن ملف العرض يمكن استخدام الدالة مباشرة باستدعاء الدالة format('Y-m-d')

{{ $post->created_at->format('Y-m-d') }}

كما يمكننا استخدام القصر cast في ملف النموذج

protected $casts = [
    'created_at' => "datetime:Y-m-d\TH:iPZ",
];

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...