用Laravel中其他桌子的信息填写表格

时间:2017-02-15 16:02:04

标签: php laravel eloquent

我正在尝试用其他表格中的信息填充表格。像这样:

$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上发生一些事情。

有什么想法吗?

2 个答案:

答案 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->保存();