未定义的偏移量:1 laravel
Undefined offset: 1 laravel
我是 laravel 的新手
我有一个带有动态字段的表单,但是当我创建多个动态字段并单击“提交”时,会出现此错误:Undefined offset: 1
但它只适用于一个领域。
我看到谁用过 isset 但我不知道如何在我的案例中使用它
谁能告诉我为什么 php
会出现这样的错误
控制器:
public function store(Request $request)
{
$data['invoice_no'] = $request->invoice_no;
$data['last_invoice_no'] = $request->last_invoice_no;
$data['devise'] = $request->devise;
$data['customer_name'] = $request->customer_name;
$data['customer_adress'] = $request->customer_adress;
$data['invoice_no'] = $request->invoice_no;
$data['invoice_date'] = $request->invoice_date;
$data['company_adress'] = $request->company_adress;
$data['company_name'] = $request->company_name;
$data['company_phone'] = $request->company_phone;
$data['poids_brut'] = $request->poids_brut;
$data['poids_net'] = $request->poids_net;
$data['livraison'] = $request->livraison;
$data['incoterm'] = $request->incoterm;
$data['payment_details'] = $request->payment_details;
$data['sub_total'] = $request->sub_total;
$data['shipping'] = $request->shipping;
$data['total_due'] = $request->total_due;
$data['created_by'] = (Auth::user()->name);
$invoices = Invoices::create($data);
$details_list = [];
for ($i = 0; $i < count($request->categorie_id); $i++) {
$details_list[$i]['categorie_id'] = $request->categorie_id[$i];
$details_list[$i]['product_id'] = $request->product_id[$i];
$details_list[$i]['size_id'] = $request->size_id[$i];
$details_list[$i]['quantity'] = $request->quantity[$i];
$details_list[$i]['unit_price'] = $request->unit_price[$i];
$details_list[$i]['total_price'] = $request->total_price[$i];
$details_list[$i]['created_by'] = (Auth::user()->name);
}
$details = $invoices->details()->createMany($details_list);
if ($details) {
return redirect('/invoices')->with([
'message' => __('la facture est créé avec succès'),
'alert-type' => 'success'
]);
} else {
return redirect()->back()->with([
'message' => __('la creation de facture a échoué'),
'alert-type' => 'danger'
]);
}
}
发票模型:
class invoices extends Model
{
protected $guarded=[];
public function details()
{
return $this->hasMany(invoice_products::class, 'invoice_id', 'id');
}
}
发票产品型号:
class invoice_products extends Model
{
protected $guarded=[];
public function invoice()
{
return $this->belongsTo(Invoices::class, 'invoice_id', 'id');
}
}
原因:
this error appears: Undefined offset: 1
你可以找到解释Here
您的案例:
for ($i = 0; $i < count($request->categorie_id); $i++) {
$details_list[$i]['categorie_id'] = $request->categorie_id[$i];
也许(因为我们不知道您从 form
传递的是什么)您的 $request->categorie_id
没有 key/index
1。因此,在您的 for 循环中,它寻找 $request->categorie_id[1]
并失败抛出错误 Undefined offset: 1
,这意味着数组 $request->categorie_id[]
没有 key/index/offset
1.
建议:
您可以 dd($request->all());
或 dd($request->categorie_id);
在您的存储方法中查看里面的内容以确保它包含 $request->categorie_id[]
索引为 1
的数组
我是 laravel 的新手 我有一个带有动态字段的表单,但是当我创建多个动态字段并单击“提交”时,会出现此错误:Undefined offset: 1 但它只适用于一个领域。 我看到谁用过 isset 但我不知道如何在我的案例中使用它 谁能告诉我为什么 php
会出现这样的错误控制器:
public function store(Request $request)
{
$data['invoice_no'] = $request->invoice_no;
$data['last_invoice_no'] = $request->last_invoice_no;
$data['devise'] = $request->devise;
$data['customer_name'] = $request->customer_name;
$data['customer_adress'] = $request->customer_adress;
$data['invoice_no'] = $request->invoice_no;
$data['invoice_date'] = $request->invoice_date;
$data['company_adress'] = $request->company_adress;
$data['company_name'] = $request->company_name;
$data['company_phone'] = $request->company_phone;
$data['poids_brut'] = $request->poids_brut;
$data['poids_net'] = $request->poids_net;
$data['livraison'] = $request->livraison;
$data['incoterm'] = $request->incoterm;
$data['payment_details'] = $request->payment_details;
$data['sub_total'] = $request->sub_total;
$data['shipping'] = $request->shipping;
$data['total_due'] = $request->total_due;
$data['created_by'] = (Auth::user()->name);
$invoices = Invoices::create($data);
$details_list = [];
for ($i = 0; $i < count($request->categorie_id); $i++) {
$details_list[$i]['categorie_id'] = $request->categorie_id[$i];
$details_list[$i]['product_id'] = $request->product_id[$i];
$details_list[$i]['size_id'] = $request->size_id[$i];
$details_list[$i]['quantity'] = $request->quantity[$i];
$details_list[$i]['unit_price'] = $request->unit_price[$i];
$details_list[$i]['total_price'] = $request->total_price[$i];
$details_list[$i]['created_by'] = (Auth::user()->name);
}
$details = $invoices->details()->createMany($details_list);
if ($details) {
return redirect('/invoices')->with([
'message' => __('la facture est créé avec succès'),
'alert-type' => 'success'
]);
} else {
return redirect()->back()->with([
'message' => __('la creation de facture a échoué'),
'alert-type' => 'danger'
]);
}
}
发票模型:
class invoices extends Model
{
protected $guarded=[];
public function details()
{
return $this->hasMany(invoice_products::class, 'invoice_id', 'id');
}
}
发票产品型号:
class invoice_products extends Model
{
protected $guarded=[];
public function invoice()
{
return $this->belongsTo(Invoices::class, 'invoice_id', 'id');
}
}
原因:
this error appears: Undefined offset: 1
你可以找到解释Here
您的案例:
for ($i = 0; $i < count($request->categorie_id); $i++) { $details_list[$i]['categorie_id'] = $request->categorie_id[$i];
也许(因为我们不知道您从 form
传递的是什么)您的 $request->categorie_id
没有 key/index
1。因此,在您的 for 循环中,它寻找 $request->categorie_id[1]
并失败抛出错误 Undefined offset: 1
,这意味着数组 $request->categorie_id[]
没有 key/index/offset
1.
建议:
您可以 dd($request->all());
或 dd($request->categorie_id);
在您的存储方法中查看里面的内容以确保它包含 $request->categorie_id[]
索引为 1