如何将csv导入数据库而不进行复制?

时间:2019-08-12 10:16:26

标签: database laravel csv

如何在不使用Laravel复制的情况下将CSV数据存储在Mysql-DB中?

我已经厌倦了在Laravel中使用名为updateOrIncert的此功能:

    DB::table('products')
        ->updateOrInsert(
    ['id' => '1501'],
    ['name' => 'Sara', 'age' => '28','job' => 'developer','city' => 'Stockholm','hobby' => 'horses']
);

但不起作用?请帮助,我仍然陷在这个问题中,并且我的项目停止了

public function importCsv()
{    
    $products = $this::parseCsv('data.csv');
    var_dump($products);

    if (!empty($products)) {

        foreach($products as $product) {
            Product::create($product);  
        }
    }

    return $this->parseCsv('data.csv');
}   
public function preventDp()
{

    DB::table('products')
        ->updateOrInsert(
    ['id' => '1501'],
    ['name' => 'Sara', 'age' => '28','job' => 'developer','city' => 'Stockholm','hobby' => 'horses']
);

        return preventDp();
} 

我已成功使用此部分将csv数据导入数据库

if (!empty($products)) {

        foreach($products as $product) {
            Product::create($product);  
        }
    }

但是当我通过浏览器重新加载代码时,数据在mysql-DB中重复 我试图在Laravel中使用此功能,以防止通过更新数据库中的第一行来进行重复。但是不起作用,如果有人知道,请帮助:

    DB::table('products')
        ->updateOrInsert(
    ['id' => '1501'],
    ['name' => 'Sara', 'age' => '28','job' => 'developer','city' => 'Stockholm','hobby' => 'horses']
);

0 个答案:

没有答案