У меня есть запрос AJAX, исходящий с моей страницы оформления, в которой пользователь вводит код купона. Это переходит в мой контроллер, как так:Как я могу подтвердить купон в Laravel 5.1?
public function attachCoupon(AttachCouponRequest $request)
{
$response = ShopHelper::checkCoupon($request->coupon);
return Response::json($response);
}
функция My «checkCoupon» загружается в из вспомогательного класса и выглядит так:
public static function checkCoupon($code)
{
$coupon = Coupon::where('code',$code)->get();
if ($coupon->isEmpty()) {
$response = ['valid' => false, 'message' => 'Coupon code not recognised'];
} elseif (isset($coupon->end_date) && $coupon->end_date < Carbon::now()) {
$response = ['valid' => false, 'message' => 'Sorry, that coupon has expired.'];
} elseif (isset($coupon->start_date) && $coupon->start_date > Carbon::now()) {
$response = ['valid' => false, 'message' => 'Sorry, that coupon is not yet valid.'];
} elseif (isset($coupon->status) && $coupon->status === 'inactive') {
$response = ['valid' => false, 'message' => 'Sorry, that coupon is inactive.'];
} else {
$response = ['valid' => true, 'message' => 'Coupon applied successfully!.'];
}
return($response);
}
Это, кажется, очень не-Laravel типа, является есть более аккуратный способ сделать это? Могу ли я поместить это в мой класс FormRequest 'AttachCouponRequest'? Должен ли я использовать поставщика услуг?
Пожалуйста, помогите мне сделать это более элегантным.
спасибо.
Ах, что имеет смысл. Полностью забыл области запросов. Я сделаю это для моей модели для быстрой и простой справки. –