EC-CUBEでのSQLの記述について
EC-CUBE3.0.10において、注文番号をカスタマイズしランダムにて設定しているためすでに存在している注文番号との重複チェックを行う必要があります。
まず、以下のようなSQLを作成しこれをQueryBuilderにて作成しました。
・作成したSQL
SELECT COUNT(o.order_number)
FROM dtb_order o
WHERE o.order_number = 結合した注文番号
・QueryBuilderにて作成
$qb = $em->getRepository('Eccube\Entity\Order')
->createQueryBuilder('o')
->select('COUNT(o.order_number)')
->where('o.order_number = :orderId')
->setParameter('orderId', '$orderId');
$countOrderId = $qb
->getQuery()
->getSingleResult();
この際、メモリ不足のエラーが起きてしまったため以下のSQLに変えることにしました。
・作成しなおしたSQL
SELECT 1
FROM dtb_order o
WHERE o.order_number = 結合した注文番号
LIMIT 1
この際の、QueryBuilderでの記述方法につきまして
ご存知の方がいらっしゃいましたらご教示お願いいたします。
ヒントでも構いません。
よろしくお願いいたします。
以下、追記
・エラー内容
Apacheのエラーログは以下の通りです。
メモリが足りてないって感じなのですかね??
[Thu Jun 30 13:51:01.710082 2016] [:error] [pid 9568:tid 1856] [client ::1:61415] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 552 bytes) in C:\xampp\htdocs\eccube-3.0.10\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php on line 91, referer: http://localhost/eccube-3.0.10/html/index_dev.php/cart