バージョン選択

フォーラム

メニュー

オンライン状況

83 人のユーザが現在オンラインです。 (76 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 83
もっと...

サイト内検索

質問 > フロント機能 > dtb_orderへのflushで登録されない現象。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mashshsh
投稿日時: 2018/2/28 15:38
対応状況: −−−
新米
登録日: 2018/2/28
居住地:
投稿: 3
dtb_orderへのflushで登録されない現象。
当方、エンジニアですが、ここ先月から触り始めた初心者です。
わかる方入れば、教えていただけませんでしょうか。

[EC-CUBE] 3.0.15
[レンタルサーバ] さくらレンタルサーバー ビジネスプロ
[OS]
[PHP] 7.1
[データベース] MYSQL 5.7
[WEBサーバ] apache 2.4
[ブラウザ] Google Chrome
[カスタマイズの有無]
・実現したこと
お客様が注文内容を入力するフォームを作成。

カートに商品を入れた後、そのフォームに遷移。
入力フォーム→入力確認フォーム→入力完了 の順に遷移する。

入力フォームには、カートに入れた商品を表示している。

[現象]
■入力フォームから確認フォームに遷移した際、たまにエラーとなる。

入力フォームに遷移した際にdtb_orderを新規登録して、
確認画面に遷移した際に、そのオーダーがなければエラーとしている。
※既存の動きを流用。

入力フォームにきたら、必ず新規登録しているので、
確認画面でのオーダー確認時は必ず存在するはずだが、
DBに登録されていない場合がある。

カートを見る ボタンを押下したあと、入力フォームに行く場合、
(TOP→カート→入力フォーム)
オーダーは作成されるようですが、
商品詳細からaddし、カートを自動表示し、入力フォームに行く場合に、
頻発します。
(TOP→商品一覧→商品詳細→ADD→カート→入力フォーム)

カートに商品を4個以上ADDした後に、入力フォームに行くと起きやすいです。
※1個や2個では発生しない。

また、入力フォームに遷移したときのログを確認すると、
オーダーが登録できていないときは、下記ログが出力されます。
ただ、下記ログは、いつもでているので、関係ないと思っていますが。

front.INFO [9d345244] [6ec23f5c] [NULL] [LogListener:onKernelRequest:60] - PROCESS START ["block_category"]
front.INFO [9d345244] [6ec23f5c] [NULL] [LogListener:onKernelController:73] - LOGIC START ["block_category"]
front.INFO [9d345244] [6ec23f5c] [NULL] [LogListener:onKernelResponse:86] - LOGIC END ["block_category"]
front.INFO [9d345244] [6ec23f5c] [NULL] [LogListener:onKernelTerminate:95] - PROCESS END [null]

テーブルの状態を確認すると、
dtb_orderの自動採番は進んでいるため、
入力フォームのflush時にDB登録をしようとはしているみたいですが、
なぜかそこで登録されていないという現象が発生しています。

自動採番が進んで、登録はされないので、
order_idがとびとびになってしまいます。
umebius
投稿日時: 2018/2/28 19:15
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: dtb_orderへのflushで登録されない現象。
ちょっとコードをご提示いただかないと判断難しいと思いますが・・。
何もエラーにならず受注が作られていないということであれば、
$app['eccube.service.shopping']->createOrder($Customer);などする際に、Exceptionが発生してtry-catchされてしまっているということはないでしょうか?


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

mashshsh
投稿日時: 2018/3/1 15:13
対応状況: −−−
新米
登録日: 2018/2/28
居住地:
投稿: 3
Re: dtb_orderへのflushで登録されない現象。
umebius様

>ちょっとコードをご提示いただかないと判断難しいと思いますが・・。
>何もエラーにならず受注が作られていないということであれば、
>$app['eccube.service.shopping']->createOrder($Customer);などする際に、
>Exceptionが発生してtry-catchされてしまっているということはないでしょうか?

ECCUBE3の中身をほとんど把握していない状態で、
かなりカスタマイズしました。

createOrderでExceptionは発生していないようです。
エラーログが出力されていないから、という判断です。

本件、別のやり方で対応し、事なきを得ました。


PHPのちょっとした改修ならできるレベルの自分が、
Symfony2、ORM等全く理解していない状態で、
いきなりECCUBE3のカスタマイズ案件に放り込まれ、
試行錯誤して、いろいろといじってしまった結果、
おかしな挙動となったのかと思っています。

まず、基本的な考え方を理解をしてから、再度、この問題を考えたいと思います。

解決までの期限が1日しかなかった為、
かなりあせっており、最初のような、乱雑なトピックの立て方になってしまいました。

大変、失礼致しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.