excel - 为什么 Laravel Excel 找不到单元格中的数据?
问题描述
我让这段代码正常工作,然后我回到了它,而不是 laravel excel 没有在单元格中找到任何数据。我收到此错误:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'shovel' cannot be null (SQL: insert into `customers` (`shovel`, `address`, `ice_melt`, `comments`, `stakes`, `name`, `phone_number`, `email`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, ?, 2020-12-28 20:13:08, 2020-12-28 20:13:08))"
trace: [{,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…},…]
这是我的导入功能:
<?php
namespace App\Imports;
use App\Customer;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\SkipsOnError;
use Illuminate\Validation\Rule;
class CustomerImport implements ToModel, WithHeadingRow
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
//$address = Customer::select('address')->get();
// foreach($address as $something){
// if ($something->address == $row['address']){
// return;
// }
// }
return new Customer([
'shovel' => $row['shovel'],
'address' => $row['address'],
'ice_melt' => $row['icemelt'],
'comments' => $row['comments'],
'stakes' => $row['stakes'],
'name' => $row['name'],
'phone_number' => $row['phone'],
'email' => $row['email'],
]);
}
public function rules(): array{
return[
'address' => Rule::unique('customers', 'address')
];
}
}
我的控制器:
public function fileImport(Request $request)
{
$request->validate([
'import_file' => 'required|file|mimes:xls,xlsx',
]);
//$addresses = Customer::select('address');
$path = $request->file('import_file');
$data = Excel::import(new CustomerImport, $path); // Errors here
return response()->json(['message' => 'uploaded successfully'], 200);
return back();
}
就像我提到的那样,这是以前工作的,所以我必须进行一些小改动。我的路线仍在为此工作,只是导入文件似乎存在问题。任何建议表示赞赏!
解决方案
我遇到同样的错误。事实证明不是我的代码有问题。它是表格行类型。或者您可以使该行可以为空
推荐阅读
- javascript - 制作 2 个不同存储的柜台
- mongodb - 使用特定文档的过滤器计算 mongo 数组中的元素数
- javascript - Asp.net C#在插入记录之前用JS确认对话框检查条件不触发为什么?
- javascript - 在不同的选择标签中附加带有值的选项标签
- progressive-web-apps - PWA - 如何指定版本?
- c# - 如何在c#中比较两个数组并计算相等的项目
- python - 在 Python 中,在循环中使用三个函数,其中第三个函数的输出是所有三个函数的新输入
- python-3.x - 将 CSS 与 Bottle 连接起来
- excel - Excel VBA 在特定单元格中添加值
- android - 如何在同一个 Realm 查询中查询两个字段?