SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'名称'-laravel

时间:2017-11-21 15:41:35

标签: php laravel

我知道这个问题已被多次询问,我已尝试过所有其他解决方案,但对我不起作用。

我正在尝试使用csv文件将数据插入到我的数据库中,但之后我收到此错误

  

SQLSTATE [42S22]:找不到列:1054未知列'名称'   '字段列表'(SQL:插入group_itemgroup_id,   created_atitem_idnamepriceupdated_at)值(1,   2017-11-21 15:44:57,0,粉末,120,2017-11-21 15:44:57)

我在name中没有group_item列,但我在item table中有名字。在上面的错误中,它显示了name列,结果清楚地表明csv文件与列匹配。为什么我仍然会收到此错误。

这可能来自我的模特吗?以下是我的模特

物品

  public function groups()
    {
        return $this->belongsToMany('App\Group','group_item','item_id','group_id')
        ->withTimestamps();
    }

public function items()
    {
        return $this->belongsToMany('App\Item','group_item','group_id','item_id')
        ->withTimestamps();
    }

控制器

public function import($id, Request $request)
{


   $group = Group::whereId($id)->firstorFail();


   #import files into category table
   if($request->file('imported-file'))
   {
             $path = $request->file('imported-file')->getRealPath();
             $data = Excel::load($path, function($reader)
       {
             })->get();

       if(!empty($data) && $data->count())
       {
         foreach ($data->toArray() as $row)
         {
           if(!empty($row))
           {
             $dataArray[] =
             [
               'name' => $row['name'],
               'price' => $row['price'],

             ];
           }
       }

       if(!empty($dataArray))
       {
          $group->items()->attach($dataArray);
         //group->items()->save(new App\Item($dataArray));


        }
      }
    }

}

0 个答案:

没有答案