【问题标题】:Unexpected data found. Unexpected data found. Trailing data发现意外数据。发现意外数据。尾随数据
【发布时间】:2020-07-14 10:44:26
【问题描述】:

我创建了 excel 导入函数并且它工作正常,直到我注意到日期没有正确插入,所以我尝试像 Y-m-d 这样格式化日期以正确存储在 MySql 中,但是碳给出以下错误

Carbon\Exceptions\InvalidFormatException

发现意外数据。发现意外数据。追踪数据

在 excel 中我可能有 d/m/YY/m/d 所以我想在 DB 中格式化为 tored

我的导入代码

public function model(array $row)
{
    return new Staff([
        'employee_no'               => $row['id'],
        'name'                      => $row['name'],
        'address'                   => $row['address'],
        'fathers_name'              => $row['father'],
        'dob'                       => $this->transformDate($row['dob']),
        'blood_group'               => $row['blood_group'],
        'phone'                     => $row['phone'],
        'password'                  => Hash::make($row['id']),
    ]);
}

public function transformDate($value, $format = 'Y-m-d')
{
    try {
        return \Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value));
    } catch (\ErrorException $e) {
        return \Carbon\Carbon::createFromFormat($format, $value);
    }
}

我的员工模型

class Staff extends Authenticatable
{
  protected $fillable = [
    'name', 'employee_no', 'designation_id', 'fathers_name', 'dob', 'identification_mark', 'blood_group', 'phone', 'address', 'height', 'rfid_no', 'building_id', 'password',
  ];

  protected $casts = ['dob'];
}

什么是正确的方法,或者我必须接近新的format for dob

【问题讨论】:

  • createFromFormat() 应该接收给定日期的格式,而不是您要转换的格式。尝试将其更改为$format = 'd/m/Y'。然后你可以通过在Carbon对象上设置->toDateString()->toDateTimeString()来获取数据库格式
  • 是的,正确,你解决了我的问题,谢谢

标签: php laravel php-carbon laravel-excel


【解决方案1】:

Carbon::createFromFormat($format, $time) 应该接收给定$time 的格式,而不是您要转换的格式。尝试将其更改为 $format = 'd/m/Y',正如您所说的您希望从记录中获得的格式。

之后,只需在 Carbon 对象上设置->toDateString()->toDateTimeString() 即可获取数据库格式。

另请参阅:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    相关资源
    最近更新 更多