无法在 Laravel 控制器中插入带有变量的数组
Can't insert array with a variable in Laravel Controller
我正在尝试使用变量 member_id 在我的数据库中插入一个数组。
HTML
我的控制器
这项工作没有 member_id
foreach ($request->moreFields as $key => $value) {
Permit::create($value);
}
这不适用于会员 ID
foreach ($request->moreFields as $key => $value) {
Permit::create([
'member_id' => $member_id,
'license_type' => $request->license_type[$i],
'license_number' => $request->license_number[$i],
'registration_date' => $request->registration_date[$i],
'expiration_date' => $request->expiration_date[$i],
]);
}
我正在尝试插入一个带有变量的数组,以便它可以在成员的 table
中建立关系
我看不到其余的代码,但我猜你正在使用一个闭包,它从你的循环范围中删除了 $member_id
。如果是这种情况,那么 use 关键字将允许您访问闭包范围之外的变量。例如-
function () use ($member_id) { // pass $member_id into scope of closure
foreach ($request->moreFields as $key => $value) {
Permit::create([
'member_id' => $member_id,
'license_type' => $request->license_type[$i],
'license_number' => $request->license_number[$i],
'registration_date' => $request->registration_date[$i],
'expiration_date' => $request->expiration_date[$i],
]);
}
};
您可以在将数组插入数据库之前修改数组,例如 array_merge()
、
foreach ($request->moreFields as $key => $value) {
Permit::create(array_merge($value, ['member_id' => $member_id]));
}
我正在尝试使用变量 member_id 在我的数据库中插入一个数组。
HTML
我的控制器
这项工作没有 member_id
foreach ($request->moreFields as $key => $value) {
Permit::create($value);
}
这不适用于会员 ID
foreach ($request->moreFields as $key => $value) {
Permit::create([
'member_id' => $member_id,
'license_type' => $request->license_type[$i],
'license_number' => $request->license_number[$i],
'registration_date' => $request->registration_date[$i],
'expiration_date' => $request->expiration_date[$i],
]);
}
我正在尝试插入一个带有变量的数组,以便它可以在成员的 table
中建立关系我看不到其余的代码,但我猜你正在使用一个闭包,它从你的循环范围中删除了 $member_id
。如果是这种情况,那么 use 关键字将允许您访问闭包范围之外的变量。例如-
function () use ($member_id) { // pass $member_id into scope of closure
foreach ($request->moreFields as $key => $value) {
Permit::create([
'member_id' => $member_id,
'license_type' => $request->license_type[$i],
'license_number' => $request->license_number[$i],
'registration_date' => $request->registration_date[$i],
'expiration_date' => $request->expiration_date[$i],
]);
}
};
您可以在将数组插入数据库之前修改数组,例如 array_merge()
、
foreach ($request->moreFields as $key => $value) {
Permit::create(array_merge($value, ['member_id' => $member_id]));
}