通过laravel Eloquent Model以dd / mm / yyyy插入日期格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过laravel Eloquent Model以dd / mm / yyyy插入日期格式相关的知识,希望对你有一定的参考价值。
我正在使用Laravel Eloquent,我有一个带日期字段的模型。
我的日期值是dd / mm / yyyy。通过导入CSV文件将数据输入系统。文件中的日期值采用dd / mm / yyyy格式。
如何通过laravel eloquent模型插入格式为dd/mm/yyyy
的日期。
我的模型问题如下。
class Issue extends Model
{
protected $table = 'issue';
protected $primaryKey = 'ACC_NO';
protected $keyType = 'String';
public $incrementing = false;
public $timestamps = false;
protected $dates= ['issue_date','due_date'];
public function setIssueDateAttribute($value)
{
$this->attributes['issue_date'] = Carbon::createFromFormat('d/m/Y', $value)->toDateString();
}
public function setDueDateAttribute($value)
{
$this->attributes['due_date'] = Carbon::createFromFormat('d/m/Y', $value)->toDateString();
}
}
但它仍未设置为mysql数据库中dd / mm / yyyy的格式
您似乎正在尝试以特定格式存储或检索日期值,数据库接受Y-m-d format.i.e(yyyy-mm-dd)中的数据我建议您为相应的模型定义一个存取器。例如
public function getCreatedAtAttribute($value)
{
$date = Carbon::parse($value);
return $date->format('d-m-Y');
}
注意:使用碳碳;
在课程开始之前在模型文件中使用它。
您可以使用$model->your_date_property = Carbon::parse($someDate)->format('dd/mm/yyyy');
手动执行此操作
或者您可以自动执行此操作。来自the docs:
默认情况下,时间戳格式为'Y-m-d H:i:s'。如果需要自定义时间戳格式,请在模型上设置
$dateFormat
属性。此属性确定日期属性在数据库中的存储方式。
protected $dateFormat = 'dd/mm/yyyy';
以上是关于通过laravel Eloquent Model以dd / mm / yyyy插入日期格式的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Eloquent Model :: find不起作用
Laravel 的 Eloquent 公共静态函数“create”在 Model.php 中发生了啥?
Laravel Eloquent ORM 数据model操作