Я хочу получить два значения из запроса 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');
}
На самом деле я не получаю никаких сообщений об ошибках, но это позволяет мне добавлять дубликаты в базу данных, и я знаю почему: значение - это соединение, которого нет в базе данных,и поэтому уникальная проверка, которую я написал, не может поймать дубликат только на его части.