バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bio
投稿日時: 2019/8/13 1:50
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
いつもお世話になっております。

dtb_orderに挿入するorder_idの桁数は現行9桁まで許容されるようですが、それを10桁以上に設定する必要があり、以下を参考に、mtb_constants.php、そして管理者画面のパラメータ設定のINT_LENを10以上に設定するなどして試しておりますが、桁数が9桁を超えると(10以上になると)dtb_orderにorder_idが挿入されません。

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=9520&forum=1

どのファイルのどこの設定を変更すれば、上記を実現できるかご教授頂けませんでしょうか。

MySQL5.0.77
apache2
Windows XP
5.0.22
EC-CUBE 2.X系
red
投稿日時: 2019/8/16 18:23
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
bigint型に変える必要があるのではないでしょうか


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2019/8/17 22:03
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
red様

お時間を頂きまして感謝致します。

order_idのデータ型をbigintに変更することにより、10桁の整数をdtb_orderのorder_idに挿入することができました。

ただし、11桁以上は挿入されません。

別のソースからもこのdtb_orderにデータを挿入しておりますが、その場合、order_idの桁数は何桁でも問題なく挿入される様です。

ですので、eccube 2系のデフォルトのLC_Page_Shopping_Confirm.php、SC_Helper_Purchase.phpを使用して挿入する際に、11桁以上であれば、挿入できない何らかの制約があるのだろうと考えております。

参考にしたリンク内でも記載されておりますが、bit数が影響しているのでしょうか?

何かお分かりになりますでしょうか?
red
投稿日時: 2019/8/19 9:03
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
dtb_order_order_id_seq も修正が必要なのではないでしょうか


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2019/8/19 10:49
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
red様

お時間を頂きまして本当に感謝いたします。

ここでのdtb_order_order_id_seqの設定には問題がなく、他の何らかの設定により、11桁以上のorder_idがdtb_orderに挿入できない設定になっていると思われます。

いろいろと試しておりますが、分かりません。
red
投稿日時: 2019/8/19 10:59
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
dtb_order_temp も直しましたか?


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2019/8/19 15:50
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
red様

お時間を頂きまして感謝いたします。

dtb_order, dtb_order_order_id_seq, dtb_order_detail, dtb_order_detail_order_detail_id_seq, そしてdtb_order_tempの調整は事前にしておりました。

別のソースからdtb_orderにデータを挿入すると、order_idの桁数が11桁以上でも挿入されます。

ですから、LC_Page_Shopping_Confirm.php、SC_Helper_Purchase.php関連のファイル、あるいはそれに関連する設定にて桁数、あるいはサイズを制約する箇所があるのではないかと考え試しておりますが、見つけることができません。
red
投稿日時: 2019/8/19 16:08
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
2.13.5で見る限り制約などないかと思います。

詳しいバージョンがわからないのでアドバイスが難しいですが、

・桁数が11桁以上の場合、どうなるのでしょうか?

LC_Page_Shopping_Confirm に 以下のようなコードが有ると思いますが、ここで11桁以上の値は返ってきていますか?
$this->arrForm['order_id'] = $objPurchase->getNextOrderID();


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2019/8/19 23:47
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
red様

お時間を頂きまして本当に感謝いたします。

バージョンは2.12.5です。

申し訳ございません。11桁以上というよりは、厳密には2147483647以上の整数(例:1566225446510)を挿入しようとすると、int型、あるいはbigint型のカラムに格納できる最大値の整数が2147483647であるためだと思われますが、2147483647がdtb_orderのorder_idに挿入されます。

そして次のオーダー(2147483647以上の整数)を挿入しようとすると、上記と同じ理由で、再度2147483647を挿入しようとして以下の様なエラーが発生する様でございます。

しかしながら、他のソースからこのdtb_orderのorder_idにデータを挿入する際にはこの2147483647以上の整数(例:1566225446510)が挿入されます。

MDB2 Error: constraint violation
_doQuery: [Error message: Could not execute statement]
[Last executed query: EXECUTE mdb2_statement_mysql_45834afbf3487650c249301e814e45c295538c6d9d USING @0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10]
[Native code: 1062]
[Native message: Duplicate entry '2147483647' for key 'PRIMARY']
on [/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/SC_Query.php(1089)] from xxxxxxxxxx
customer_id = 456
/var/www/vhosts/xxxxxxx.com/httpdocs/shopping/confirm.php(34): LC_Page_Shopping_Confirm_Ex->process
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class_extends/page_extends/shopping/LC_Page_Shopping_Confirm_Ex.php(56): LC_Page_Shopping_Confirm->process
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/pages/shopping/LC_Page_Shopping_Confirm.php(42): LC_Page_Shopping_Confirm->action
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/pages/shopping/LC_Page_Shopping_Confirm.php(218): SC_Helper_Purchase->completeOrder
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/helper/SC_Helper_Purchase.php(81): SC_Helper_Purchase->registerOrderComplete
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/helper/SC_Helper_Purchase.php(896): SC_Helper_Purchase->registerOrderDetail
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/helper/SC_Helper_Purchase.php(990): SC_Query->insert
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/SC_Query.php(602): SC_Query->query
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/SC_Query.php(896): SC_Query->execute
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/SC_Query.php(1052): SC_Query->error
/var/www/vhosts/xxxxxxx.com/httpdocs/data/class/SC_Query.php(1089): trigger_error

red
投稿日時: 2019/8/20 9:27
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: dtb_orderのorder_idを10桁以上でも挿入できるように設定したいです。
はい
dtb_order.order_id はbigintになっているのがわかりました。



$this->arrForm['order_id'] = $objPurchase->getNextOrderID();

ここで、返ってきている値は、いくつですか?



dtb_order_temp.order_id には、いくつが入っていますか?
(ここがintだと切り捨てられて最大値が入る気がするので、ここが原因だと思うのですが?)


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.