我正在尝试用其他表格中的信息填充表格。像这样:
$item = new item();
$item->save();
//this works
$item_actions-> new item_actions();
$item_actions->item_id = $item->id;
$item_actions->save();
//this doesn't work
$default_items = default_items::all();
foreach($default_items as $default_item)
{
$item_list = new item_list();
$item_list->item_id = $item->id;
$item_list->name = $default_item->name;
$item_list->save()
}
return back();
我使用过dd($default_items)
,它包含default_items表中的每一项。没有错误,表格根本没有填写,程序继续。然而,$ item_actions有效,所以必须在那个foreach上发生一些事情。
有什么想法吗?
答案 0 :(得分:2)
尝试只是"插入"数据库中的数据,如果您的表被调用" item_lists"你可以尝试这样:
$dataSet = [];
foreach ($default_items as $default_item) {
$dataSet[] = [
'item_id' => $item->id,
'name' => $default_item->name,
];
}
DB::table('item_lists')->insert($dataSet);
也许laravel需要DB的类,所以只需添加:
use DB;
答案 1 :(得分:0)
我认为你在循环中的保存方法后缺少分号
$ item_list->保存();