如果没有具有相同product_name
,brand
,weight
和volume
的产品,我想向数据库添加产品。
这是我的代码:
$product = Product::firstorNew(['product_name'=>$request->product)], ['brand'=>$reques->brand), ['weight'=>$request->weight], ['volume'=>$request->volume]);
$product->product_name = $request->product;
$product->brand = $request->brand;
$product->weight = $request->weight;
$product->volume = $request->volume;
$product->save();
此代码不检查所有属性,只检查第一个属性,如果匹配,则更新行而不是添加新属性。例如,在数据库中有一个产品id=1
,product_name='Milk'
,brand='Parmalat'
,weight='null'
,volume=1
,如果我添加product_name='Milk'
,{将更新{1}},brand='Unimilk'
,weight='null'
id = 1的行,但在这种情况下,我想向数据库添加新行。
答案 0 :(得分:8)
看起来您的括号放错了。试试这个:
$product = Product::firstOrNew([
'product_name' => $request->product,
'brand' => $request->brand,
'weight' => $reqeust->weight,
'volume' => $request->volume,
]);