我在使用 Laravel 导入 excel 时遇到问题。用户希望将供应商数据的excel导入数据库。表suppliers
得到了user_id
,但用户可能没有自己的user_id
. 因此,在导入 excel 文件时,用户使用不带user_id
列的 excel。所以我想传递user_id
那个用户并存储在数据库中。
供应商进口控制器
public function store(Request $request)
{
$user_id = auth()->user()->id;
Excel::import(new SuppliersImport($user_id), request()->file('file'));
return redirect('/suppliers')->withStatus('Excel file imported successfully');
}
供应商进口
public function __construct($user_id)
{
$this->user_id =$user_id;
}
public function model(array $row)
{
return new Supplier([
'name' =>$row[0],
'phone' =>$row[1],
'email' =>$row[2],
'address' =>$row[3],
'city' =>$row[4],
'country' =>$row[5],
'customer' =>$row[6],
'user_id'=> $this->user_id,
]);
错误
SQLSTATE [HY000]: 一般错误: 1364 字段 'user_id' 没有默认值 (SQL: 插入suppliers
( name
, phone
, email
, address
, city
, country
, customer
, updated_at
, created_at
) 值 (soe, 176893848, soe@mail.com, abc, Yangon , 缅甸, 1, 2020-11-27 12:15:08, 2020-11-27 12:15:08))