我正在尝试使用称为Phone的实现船来保存Home模型,我想为其插入无限的Phone。现在,我可以毫无问题地插入房屋,但是在电话方面,我无法将2d阵列插入电话中!这是我的控制器:
$validated = $request->all();
if (!$validated) {
return $this->sendError('Validation Error.', $validated->errors());
}
$home = Home::create($validated);
$phones = $request->input('phones');
for ($i =0; $i < count($phones); $i++) {
$insertPhone[$i] = json_decode($phones[$i]);
}
dd($insertPhone);
$home->phones()->createMany($insertPhone);
return new HomeResource($home);
然后是$ insertPhone的dd结果:
array:2 [
0 => {#533
+"value": "123"
+"is_attachment": "true"
}
1 => {#538
+"value": "456"
+"is_attachment": "true"
}
]
答案 0 :(得分:0)
createMany
需要带有键/值的多维数组,例如:
$home->phones()->createMany([
[
'number' => '049230323432',
],
[
'number' => '432094249023',
],
]);
所以你应该喜欢:
$phones = $request->input('phones');
$insertPhone = [];
foreach ($phones as $phone) {
$insertPhone []= [
'number' => $phone,
];
}