Ara*_*to 1 import excel laravel laravel-5.7
我正在尝试导入包含一些数据的 excel 文件,但发生错误
SQLSTATE[22007]:无效的日期时间格式:1292 不正确的日期值:第 1 行的“resident_dob”列的“35492”
起初我猜测它可能与excel文件中的数据有关,我注意到它的格式与SQL中的格式不匹配,所以我尝试更改它但发生了同样的错误。顺便说一句,这里是Excel 文件数据
这是模型的代码:
public function model(array $row)
{
return new Resident([
'resident_fname' => $row[0],
'resident_lname' => $row[1],
'resident_mi' => $row[2],
'resident_dob' => $row[3],
'role' => $row[4],
'resident_age' => $row[5],
'resident_address' => $row[6],
'resident_contact' => $row[7],
'resident_email' => $row[8],
'resident_purok' => $row[9],
'resident_status' => $row[10],
'resident_gender' => $row[11],
'resident_religion' => $row[12],
'ResidentVoter_status' => $row[13],
]);
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道如何处理这个错误。谁能帮我这个?我还是 Laravel 的新手。
问题是 SQL 不支持您在 excel 中提供的日期格式(除非更改了默认配置)
默认情况下,SQL 可以将您的日期存储为 1997-03-03 00:00:00 转换为Y-m-d H:i:sPHP 日期格式
因此,您需要使用 DateTime 或 laravel 的 Carbon 包手动将其转换为预期格式。下面我使用了碳
在顶部声明这个
use Carbon;
Run Code Online (Sandbox Code Playgroud)
现在转换日期
'resident_dob' => Carbon::parse($row[3])->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5149 次 |
| 最近记录: |