Mam komentarze tabeli:Jak używać unikatowego sprawdzania poprawności w laravel?
mój komentarz kontroler gdzie jej wartości pobieranego z formy i sprawdzanie go i przechowywanie go w bazie danych.
public function store(Request $request, $product_id)
{
$this->validate($request, array(
'name' => 'required',
'email'=> 'required|email|unique:comments,product_id',
'comment' => 'required',
'rating' => 'required|integer'
));
$product = Product::find($product_id);
$comment = new Comment();
$comment->name = $request->name;
$comment->email = $request->email;
$comment->comment = $request->comment;
$comment->rating = $request->rating;
$comment->product()->associate($product);
$comment->save();
Session::flash('success','Comment was added');
return redirect()->route('product.show',[$product->id]);
}
staram się potwierdzić, że tylko unikalne id e-mail może wypowiedzieć się na temat każdego product_id że jest, jeśli użytkownik już skomentował product_id 1 następnie ten sam użytkownik nie może ponownie wypowiedzieć się na temat tego identyfikatora.
Próbowałem
'email'=> 'required|email|unique:comments,product_id'
Ale jak u można zobaczyć o tych samych danych email id została wpisana do samego product_id.
Użytkownik może skomentować n numeru strony product_id, ale nie może komentować ponownie po skomentowaniu tego identyfikatora.
Czy istnieje sposób sprawdzenia, czy dane e-mail zostały wprowadzone do bazy danych dla danego id_produktu, wówczas ten sam e-mail nie może przesłać formularza.
Jeśli inny product_id następnie e-mail może wejść.
Dzięki.
można proszę utworzyć regułę próbki według wyżej problemu, bo nie może dowiedzieć się, jak po przeczytaniu dokumentacji nie jestem tak doświadczony z laravel . Dzięki. – Phoenix