Ich habe Kommentare Tabelle:Wie wird die eindeutige Validierung in Laravel verwendet?
Mein Kommentar Controller, wo seine mit Werten von Form und es zu validieren und sie in der Datenbank zu speichern.
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]);
}
Ich versuche, so zu bestätigen, dass nur eindeutige E-Mail-ID auf jedem product_id Kommentar ist erlaubt, dass, wenn der Benutzer auf product_id 1 dann kommentiert hat bereits ist der gleiche Benutzer auf dieser ID nicht erlaubt ist, wieder zu kommentieren.
Ich versuchte
'email'=> 'required|email|unique:comments,product_id'
Aber wie u etwa gleiche E-Mail-ID-Daten sehen kann, wurde für gleichen product_id eingetragen.
Ein Benutzer kann die Anzahl n der Seite product_id kommentieren, aber er kann nicht mehr kommentieren, sobald er diese ID kommentiert hat.
Gibt es eine Möglichkeit zu validieren, wenn E-Mail-Daten für eine bestimmte product_id in die Datenbank eingegeben wurden, dann ist es der gleichen E-Mail nicht erlaubt, das Formular zu senden.
Wenn verschiedene product_id E-Mail dann eingeben.
Danke.
können Sie bitte eine Beispielregel nach Problem erstellen oben, da ich nicht nach Lesen der Dokumentation herausfinden kann, wie ich bin nicht so mit Laravel erfahren . Vielen Dank. – Phoenix