gpt4 book ai didi

php - 如何使用关系在laravel数据库中插入嵌套的二维数组

转载 作者:行者123 更新时间:2023-11-29 15:46:48 24 4
gpt4 key购买 nike

我正在尝试保存 Home 模型及其名为 Phone 的关系船,我想为其插入无限的电话。现在我可以毫无问题地插入 home,但是当涉及到电话时,我无法将我的二维数组插入电话!这是我的 Controller :

 $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"
}
]

最佳答案

createMany 需要一个带有键/值的多维数组,例如:

$home->phones()->createMany([
[
'number' => '049230323432',
],
[
'number' => '432094249023',
],
]);

所以你应该这样做:

$phones = $request->input('phones');
$insertPhone = [];
foreach ($phones as $phone) {
$insertPhone []= [
'number' => $phone,
];
}

关于php - 如何使用关系在laravel数据库中插入嵌套的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56966969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com