Php 如何解决“问题”;L合法字符串偏移量“;将excel文件上载到数据库时

Php 如何解决“问题”;L合法字符串偏移量“;将excel文件上载到数据库时,php,laravel,Php,Laravel,我正在尝试使用MaatWebsite软件包将Excel文件导入到我的表中。但每次我遇到这样的错误: 非法字符串偏移量“Emp” 我正在关注这一点。下面是我尝试过的代码: $path=$request->file('attention_data')->getRealPath(); $data=Excel::load($path)->get(); 如果($data->count()>0) { foreach($data->toArray()作为$key=>$value) { foreach($行的值

我正在尝试使用MaatWebsite软件包将Excel文件导入到我的表中。但每次我遇到这样的错误:

非法字符串偏移量“Emp”

我正在关注这一点。下面是我尝试过的代码:

$path=$request->file('attention_data')->getRealPath();
$data=Excel::load($path)->get();
如果($data->count()>0)
{
foreach($data->toArray()作为$key=>$value)
{
foreach($行的值)
{
$insert_data[]=数组(
“员工卡”=>$row['Emp'],
“出席日期”=>$row[“日期”],
“出席时间”=>$row['On'],
);
}
}
如果(!空($insert_data))
{
DB::table(‘考勤日志’)->insert($insert_data);
}

任何帮助都将不胜感激

我无法发表评论,因此我已将此作为答案发布

您是否尝试死掉并转储
$行
,以检查它是否是预期的
键=>值
对数组?尝试使用数字键访问数组的键时,会出现错误。如果
$行
是字符串,也可能发生这种情况,因为您可以使用类似的数字索引访问字符串字符到一个数组

$path=$request->file('attention_data')->getRealPath();
$data=Excel::load($path)->get();
如果($data->count()>0){
foreach($data->toArray()作为$key=>$value){
foreach($行的值){
//打印$row的数据以查看其实际内容
//并终止该过程
dd(世界其他地区);
$insert_data[]=数组(
“员工卡”=>$row['Emp'],
“出席日期”=>$row[“日期”],
“出席时间”=>$row['On'],
);
}
}
如果(!空($insert_data)){
DB::table(‘考勤日志’)->insert($insert_data);
}
}

看起来是相关的。

最好提供代码片段以便更好地理解,因为解释有时可能会导致混淆。