gpt4 book ai didi

php - 使用 Maatwebsite 的 laravel Excel impoirtation 找不到一些列

转载 作者:搜寻专家 更新时间:2023-10-31 21:21:13 24 4
gpt4 key购买 nike

我正在尝试使用 Maaatwebsite 将 excell 文件上传到我的 laravel 5.4.36 项目中的数据库,但它没有找到一些列并反转表列结构。这是我的 Controller 文件:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use Maatwebsite\Excel\Facades\Excel;

class DebitController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}

/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('debit');
}

/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
// ...
}

/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// ...
}

/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$debits = DB::table('debits')->get();
return view('debit')->with(compact('debits'));
}

/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
// ...
}

/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
// ...
}

/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
// ...
}

public function import(Request $request)
{
if($request->file('imported-file'))
{
$path = $request->file('imported-file')->getRealPath();
$data = Excel::load($path, function($reader) {
})->get();

if(!empty($data) && $data->count())
{
$data = $data->toArray();
for($i=0;$i<count($data);$i++)
{
$dataImported[] = $data[$i];
}
}
\App\Debit::insert($dataImported);
}
return back();
}
}

这是我的模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Debit extends Model
{
protected $fillable = [
'client_name',
'Current',
'1_30',
'31_60',
'61_90',
'>90',
'Total',
'Total_Pd_chqs',
'By_30th_Nov',
'By_5th_Dec',
'By_15th_Dec',
'By_20th_Dec',
'By_31st_Dec',
'Balance_adjusted',
'December_Collection_tenants',
'Status'
];
}

当我尝试上传一个列标题与表字段相同的 excel 文件时,出现错误

     SQLSTATE[42S22]: Column not found: 1054 Unknown column 'december_collection_tenants' in 'field list' (SQL: insert into `debits` (`1_30`, `31_60`, `61_90`, `balance_adjusted`, `by_15th_dec`, `by_20th_dec`, `by_30th_nov`, `by_31st_dec`, `by_5th_dec`, `client_name`, `current`, `december_collection_tenants`, `status`, `total`, `total_pd_chqs`, `90`) values (-2500, -4500, 5000, -5500, 4500, 2500, -2500, -3000, 5000, Jane anyango, 30000, 500, Ok, 1000, 6500, 3000))

我做错了什么?

最佳答案

尝试更新您的表字段,使其看起来类似于您的可填充数组变量,然后删除 > 表单 90,因为 maatwebsite excel 会将其更改为 _,如果您想要更大,MySQL 也会将其视为其他内容,可能是空白超过 90 那么我会建议你完整地写它而不是使用符号。最后确保您的表字段名称中没有空格

关于php - 使用 Maatwebsite 的 laravel Excel impoirtation 找不到一些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com