バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > CSV出力の値がズレる

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tao_s
投稿日時: 2014/9/24 19:28
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
CSV出力の値がズレる
            $cols = "dtb_order.order_id,  dtb_order.order_temp_id,  dtb_order.customer_id,  dtb_order.message,  dtb_order.order_name01,  dtb_order.order_name02,  dtb_order.order_kana01,  dtb_order.order_kana02,  dtb_order.order_company_name,  dtb_order.order_email,  dtb_order.order_tel01,  dtb_order.order_tel02,  dtb_order.order_tel03,  dtb_order.order_fax01,  dtb_order.order_fax02,  dtb_order.order_fax03,  dtb_order.order_zip01,  dtb_order.order_zip02,  dtb_order.order_zipcode,  dtb_order.order_country_id,  dtb_order.order_pref,  dtb_order.order_addr01,  dtb_order.order_addr02,  dtb_order.order_sex,  dtb_order.order_birth,  dtb_order.order_job,  dtb_order.subtotal,  dtb_order.discount,  dtb_order.deliv_id,  dtb_order.deliv_fee,  dtb_order.charge,  dtb_order.use_point,  dtb_order.add_point,  dtb_order.birth_point,  dtb_order.tax,  dtb_order.total,  dtb_order.payment_total,  dtb_order.payment_id,  dtb_order.payment_method,  dtb_order.note,  dtb_order.status,  dtb_order.create_date,  dtb_order.update_date,  dtb_order.commit_date,  dtb_order.payment_date,  dtb_order.device_type_id,  dtb_order.del_flg,  dtb_order.memo01,  dtb_order.memo02,  dtb_order.memo03,  dtb_order.memo04,  dtb_order.memo05,  dtb_order.memo06,  dtb_order.memo07,  dtb_order.memo08,  dtb_order.memo09,  dtb_order.memo10, dtb_order_detail.*,dtb_shipping.*, dtb_customer.buy_times as buy_count";

を$objQuery->getSql();に食わせて、出て来たSQLをSC_Helper_CSV::sfDownloadCsvFromSql()でCSVにすると、何故かdtb_order.create_dateがdtb_order.update_dateになるという現象に遭いました。

細かい原因はわからなかったのですが、MDB2のバグ?なのか、dtb_orderではなく別のテーブルのcreate_dateを取ってきたのかわかりませんが、カラム名が怪しいと思い、

dtb_order.create_date as order_create_date

としたところ正常に出力される様になりました。

同様の現象、原因にこころあたりがある方は助言願います。


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

ec9iii
投稿日時: 2014/9/24 20:44
対応状況: −−−
一人前
登録日: 2014/9/8
居住地:
投稿: 117
Re: CSV出力の値がズレる
僭越ながら投稿失礼致します。

SQL的に考えると、dtb_shipping.*
とdtb_order.create_dateのカラム名がかぶっているのかな・・・と感じましたが、関係なさそうでしょうか?

じゃあupdate_dateはなぜ問題ないのか?というところも気になるところではありますが。
tao_s
投稿日時: 2014/9/25 0:52
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
Re: CSV出力の値がズレる
そうなんですよ、その場合、dtb_shipping.create_dateがdtb_order.update_dateと一緒になるのもおかしいので、どのカラムの値を持ってきてるのか...
ちなみに同じクエリを直接phpMyAdmin等で実行すると正しい値を取得するので、PHP経由での接続に問題があるわけではありません。


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

k-kuwahara
投稿日時: 2014/10/1 22:02
対応状況: −−−
長老
登録日: 2013/4/16
居住地: Tokyo
投稿: 175
Re: CSV出力の値がズレる
tao_s 様

 
横から失礼します。

転記されておりました抽出カラムを元に、自分の方でSQLをMySQLから直接叩いてみましたが、直接だと正しい値を表示しているようです。
自分は過去にdtb_csvテーブルを変更したことがあり、それのせいで順番が入れ替わったことはありますが、おそらくdtb_csvに手を入れてはいないですよね。

 
まだ追いきれてはいないですが、SC_Utils.phpのsfSwapArrayメソッドで取得できるCSV出力タイトル行が正しくないような気がします。(キー名毎にゴニョゴニョする、と記載が有り、キー名が被って意味不明なことをしている可能性はあるかと…)

 
予想ばかりですみません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.