【发布时间】:2019-05-26 18:11:38
【问题描述】:
我想从 get 请求中获取两个值,然后我将使用 explode 分别检索它们中的每一个。但是,这意味着我在使用explode 之前得到的值不是表所独有的(因为它是一个化合物,因此它不是表中的现有值)。如何使用 validate 来避免重复?
我尝试使用 SQL 约束使列唯一,但这意味着当用户输入重复项时我会得到一个异常页面。我想改用验证,所以我收到一条错误消息。
public function store(Request $request)
{
$this->validate($request, [
'idProduit' => 'unique:stocks',
'produit' => 'required|unique:stocks',
'quantite' => 'required'
]);
$produit = explode("|",$request->get('produit'));
$stock = new Stock;
$stock->idProduit = $produit[0];
$stock->produit = $produit[1];
$stock->quantite = $request->input('quantite');
$stock->save();
return redirect('/stocks/')->with('success', 'Entrée de stock ajoutée à la base de données');
}
我实际上没有收到任何错误消息,但它允许我在数据库中添加重复项,我知道原因:该值是数据库中不存在的化合物,因此唯一验证我写不能只捕获其中一部分的重复项。
【问题讨论】:
标签: laravel