EC-CUBE / EC-CUBE/ec-cube3

更新日が更新されたりされなかったり

Open
#42 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
13
Forks
26
PR merge metrics
No merged PRs in 30d

Description

## 概要(Overview)

ショップマスター画面で、何も変更せずに登録した際に更新日が更新されるケースと更新されないケースが存在する。

(調査が不十分だが、恐らく他のフォームでも発生する)

## 期待する内容(Expect) or 要望 (Requirement)

何も変更せずに登録した場合の挙動が統一できた方が望ましい。

## 再現手順(Procedure)

1. ショップマスター画面で、下記の項目が空白の状態で登録する。
- 送料無料条件(金額)
- 送料無料条件(数量)
- 緯度
- 経度

2. dtb_base_info.update_dateの値を確認する。

3. ショップマスター画面で、何も変更せずに登録する。

4. dtb_base_info.update_dateの値が2. で確認した値と同じであることを確認する。

5. ショップマスター画面で、1. の項目を1つ以上入力して登録する。

6. dtb_base_info.update_dateの値を確認する。

7. ショップマスター画面で、何も変更せずに登録する。

4. dtb_base_info.update_dateの値が6. で確認した値と異なることを確認する。

### 環境 (environment)

+ EC-CUBE: 3.0.14
+ PHP: 7.1.2
+ DB: MySQL 10.1.21-MariaDB

## 関連情報 (Ref)

整数型の値は、DBから読み込んで生成したエンティティには整数型がセットされるが、```FormInterface::getData()```から生成したエンティティには文字列型がセットされる。

下記の厳密比較で型が違うためupdateと見做され、SaveEventSubscriber::preUpdate()を通ることが原因。

https://github.com/doctrine/doctrine2/blob/2.3/lib/Doctrine/ORM/UnitOfWork.php#L591

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.