Я пытаюсь создать уникальный валидатор для проверки определенного c продукта. Например:
// Validate Request for name and url
$this->validate($request, [
'nome' => 'bail|required|min:2|unique:produto,name',
'url' => 'required|unique:produto',
]);
// Grab the user->id
$user_id = Auth::user()->id;
// Create a new product
if ($product = Product::create([
'user_id' => $user_id,
'name' => $request['nome'],
'url' => $request['url'],
'is_active' => $request['is_active'],
])) {
flash()->success('Produto criado.');
} else {
flash()->error('Não foi possivel criar produto.');
}
// Check if $request data is unique at above created product
$this->validate($request, [
'addmore.*.plataforma' => 'required|unique:plataforma_produto,plataforma_id,' . $product->id . ',id,product_id',
]);
// For each of the addmore.*. fields create an entry on DB
foreach ($request->addmore as $value) {
Plataformaprod::create([
'product_key' => $value['product_key'],
'basic_authentication' => $value['basic_authentication'],
'codigo_produto' => $value['codigo_produto'],
'plataforma_id' => $value['plataforma'],
'product_id' => $product->id,
]);
}
return redirect()->route('products.index');
Проверка комментариев в моем коде в основном делает это:
- Подтвердите
$request
для имени и URL - Захватите
user->id
- Создать новый продукт
- (это то, что я не могу заставить работать) ЗАПУСТИТЕ УНИКАЛЬНОЕ ПРАВИЛО ПРОСТО ПРОТИВ УКАЗАНИЯ C PRODUCT_ID И ПРОВЕРЬТЕ, ЕСЛИ У ЭТОГО УНИКАЛЬНО PLATAFORMA_ID ЗАПИСИ!