【问题标题】:Filling a table with information from other table in Laravel用 Laravel 中其他表格的信息填充表格
【发布时间】:2017-02-15 16:02:04
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    尝试在数据库中“插入”数据,如果您的表名为“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;
    

    【讨论】:

      【解决方案2】:

      我认为您在循环中保存方法后缺少分号

      $item_list->保存();

      【讨论】:

        猜你喜欢
        • 2015-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-01
        • 2017-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多