亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

發現意外數據。發現意外數據。追蹤數據

發現意外數據。發現意外數據。追蹤數據

PHP
狐的傳說 2023-08-06 15:31:36
我創建了 Excel 導入函數,它工作正常,直到我注意到日期沒有正確插入,所以我嘗試格式化日期,就像Y-m-d在 MySql 中正確存儲一樣,但 Carbon 給出了以下錯誤Carbon\Exceptions\InvalidFormatException發現意外數據。發現意外數據。追蹤數據在Excel中我可能有d/m/Y或者Y/m/d所以我想在數據庫中格式化為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方法dob
查看完整描述

1 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

Carbon::createFromFormat($format, $time)應該接收給定的格式$time,而不是您想要轉換成的格式。嘗試將其更改為$format = 'd/m/Y',正如您所說,這是您期望從記錄中獲得的格式。

之后,您只需在 Carbon 對象上創建->toDateString()或即可獲取數據庫格式。->toDateTimeString()

查看完整回答
反對 回復 2023-08-06
  • 1 回答
  • 0 關注
  • 124 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號