Closed lammn closed 8 years ago
NonUniqueResultException in AbstractQuery.php line 657:
in AbstractQuery.php line 657
at AbstractQuery->getSingleResult() in CouponCouponOrderRepository.php line 103
at CouponCouponOrderRepository->findUseCouponMember('9q1g65t865ss', '47') in CouponController.php line 452
at CouponController->checkCouponUsedOrNot('9q1g65t865ss', object(Customer), object(Application)) in CouponController.php line 372
at CouponController->shoppingCoupon(object(Application), object(Request))
at call_user_func_array(array(object(CouponController), 'shoppingCoupon'), array(object(Application), object(Request))) in HttpKernel.php line 139
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 62
at HttpKernel->handle(object(Request), '1', true) in Application.php line 588
at Application->handle(object(Request)) in Application.php line 565
at Application->run() in index_dev.php line 98
現象
21 の発生した後のクーポンコードでもう一度使用したら、システムエラーになってしまいました。
再現手順
=> システムエラーになってしまいました(NG) ログを見ると、
eccube.CRITICAL: Doctrine\ORM\NonUniqueResultException:
例外を発生しまし た。期待値
エラーにならない。
解決
CouponCouponOrderRepository.php
のfindUseCouponMember
とfindUseCouponNonMember
関数は$count = $query->getSingleResult();
じゃなくてgetResult()
でよいと思います。