如何在不使用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']
);