質問 > 管理機能 > カテゴリ登録CSVを修正後、カテゴリ管理画面からの登録に異変 |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
kuro |
投稿日時: 2009/8/12 19:04
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2008/7/23 居住地: 投稿: 20 |
Re: カテゴリ登録CSVを修正後、カテゴリ管理画面からの登録に異変 ecnobuさま
EC-CUBE 2.4.1のデフォルト状態でも同じ現象(インクリメントされない)が起きました。 「カテゴリ登録CSV」からのカテゴリ登録後、 「カテゴリ管理」でカテゴリ手動登録を行うとそのような状態になるようです。 (「カテゴリ登録CSV」のみ or 「カテゴリ管理」のみしか使用しない場合は、 インクリメントされてなくてもcategory_id重複などの実害は出てこないと思います) ------------------------------------------------------------- ■管理画面「カテゴリ登録CSV」からCSVアップロードで登録した場合 ------------------------------------------------------------- ⇒category_idには登録済み最大番号+1がセットされますが、 最大番号の取得・セットにはdtb_category_category_id_seqは使用されていないようです。 また、「カテゴリ登録CSV」からの登録の場合、 dtb_category_category_id_seqはインクリメントされません。 ------------------------------------------------------------- ■管理画面「カテゴリ管理」から手動で登録した場合 ------------------------------------------------------------- ⇒CSVアップロードを行った後では、dtb_category_category_id_seqとcategory_idの最大番号にずれが生じています。 「カテゴリ管理」からの登録の場合、dtb_category_category_id_seqに従ってcategory_idを設定するため、 CSVで登録済みのカテゴリーと重複したcategory_idが振られてしまいます。 ↓多分★★★の部分でcategory_idを指定してしまってるので nextval()が動いていないんじゃないかと思うのですが・・・ ---------------------------------------------------------------- ※LC_Page_Admin_Products_UploadCSVCategory.php 240行目付近 ---------------------------------------------------------------- /** * カテゴリ登録を行う. * * @param SC_Query $objQuery SC_Queryインスタンス * @param string|integer $line 処理中の行数 * @return void */ function lfRegistProduct($objQuery, $line = "") { $objDb = new SC_Helper_DB_Ex(); $arrRet = $this->objFormParam->getHashArray(); //カテゴリID if ($arrRet['category_id'] == 0) { $category_id = $objQuery->max("dtb_category", "category_id") + 1;//★★★ $sqlval['category_id'] = $category_id;//★★★ $update = false; } else { $sqlval['category_id'] = $arrRet['category_id']; $update = true; } 〜〜〜〜〜 省略 〜〜〜〜〜 ---------------------------------------------------------------- phpPgAdminから「SELECT setval('dtb_category_category_id_seq', XXX)」で dtb_category_category_id_seqの最大値を正しいものにセットし直した後、 ★★★の行をコメントアウトすると、 CSVアップロードで新規登録の場合でもdtb_category_category_id_seqの数字がインクリメントされるようになりました。 (「カテゴリ登録CSV」「カテゴリ管理」両方から登録・編集を繰り返してみましたが、 category_idの重複やその他の問題は起こっていないように思います) もし上記の対処方法がまずいようでしたら、 どなたかアドバイスをいただけませんでしょうか。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
![]() |
ecnobu | 2009/7/31 0:35 |
![]() |
tao_s | 2009/7/31 1:12 |
![]() |
ecnobu | 2009/7/31 10:47 |
![]() |
tao_s | 2009/8/1 23:33 |
![]() |
ecnobu | 2009/8/2 11:58 |
» ![]() |
kuro | 2009/8/12 19:04 |
![]() |
ecnobu | 2009/8/13 21:17 |
![]() |
kuro | 2009/8/19 21:43 |
![]() |
ecnobu | 2009/8/22 11:45 |
![](images/pixel.gif)