Laravel : 无法使用 Foreach 创建多个数据关系
Laravel : Cant Create Multiple Data Relation with Foreach
我在使用 Maatwebsite/excel
导入创建数据时遇到问题。在我的导入 class 中,我想用关系创建数据,当我尝试包含子数据的 dd
变量时它工作得很好,但是当我 saveMany()
数据 returns 无效和错误。
Integrity constraint violation: 1048 Column 'description' cannot be null
这是我的代码:
public function collection(Collection $rows) {
$parent = Parent::create([
'name' => $this->name,
'slug' => $this->slug,
'month' => $this->month,
]);
foreach ($rows as $row) {
$item = new Child([
'description' => $row['description'],
'status' => $row['status'],
]);
$items[] = $item;
}
$parent->childs()->saveMany($items);
}
可能你的 $row['description'] 在 foreach 中有空值。
像这样编辑你的循环代码
foreach ($rows as $row) {
if(!empty($row['description]))
{
$item = new Child([
'description' => $row['description'],
'status' => $row['status'],
]);
$items[] = $item;
}
}
同时编辑最后一行
if(!empty($items))
$parent->childs()->saveMany($items);
我在使用 Maatwebsite/excel
导入创建数据时遇到问题。在我的导入 class 中,我想用关系创建数据,当我尝试包含子数据的 dd
变量时它工作得很好,但是当我 saveMany()
数据 returns 无效和错误。
Integrity constraint violation: 1048 Column 'description' cannot be null
这是我的代码:
public function collection(Collection $rows) {
$parent = Parent::create([
'name' => $this->name,
'slug' => $this->slug,
'month' => $this->month,
]);
foreach ($rows as $row) {
$item = new Child([
'description' => $row['description'],
'status' => $row['status'],
]);
$items[] = $item;
}
$parent->childs()->saveMany($items);
}
可能你的 $row['description'] 在 foreach 中有空值。
像这样编辑你的循环代码
foreach ($rows as $row) {
if(!empty($row['description]))
{
$item = new Child([
'description' => $row['description'],
'status' => $row['status'],
]);
$items[] = $item;
}
}
同时编辑最后一行
if(!empty($items))
$parent->childs()->saveMany($items);