Я хотел убедиться, что код купона может использовать только определенный пользователь, которого я назвал бенефициаром в моей таблице купонов ( Таблица купонов ).Поэтому я использовал метод проверки laravel, согласно которому бенефициар должен быть таким же, как зарегистрированный пользователь или может называться auth()->user()->email
, но я не уверен, как мне записать его в моем CouponsController.php.
Раздел купона в моем checkout.blade.php:
<form action="{{ route('coupon.store') }}" method="POST">
<input type="text" name="coupon_code" id="coupon_code">
<button type="submit" class="button button-plain">Apply</button>
</form>
CouponsController.php:
public function store(Request $request)
{
$coupon = Coupon::where('code', $request->coupon_code)->first();
if (!$coupon) {
return redirect()->route('checkout.index')->withErrors('Invalid coupon code. Please try again.');
}
session()->put('coupon', [
'name' => $coupon->code,
'discount' => $coupon->discount(Cart::subtotal()),
'discountrate' => $coupon->showdiscount(),
'beneficiary' => $coupon->beneficiary,
]);
$this->validate($request, [ 'beneficiary' => 'same:users,email']);
return redirect()->route('checkout.index')->with('success_message', 'Coupon has been applied!');
}