質問 > 管理機能 > テーブル更新時にcreator_idを更新させない方法 |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
cyb2019 |
投稿日時: 2019/7/22 19:05
対応状況: 解決済
|
新米 登録日: 2019/7/9 居住地: 投稿: 10 |
Re: テーブル更新時にcreator_idを更新させない方法 自己レスとなりますが、該当Entityは変更せずに
Eccube\Doctrine\EventSubscriber\SaveEventSubscriber preUpdate if (method_exists($entity, 'setCreator')) { ↓ if (method_exists($entity, 'setCreator') && method_exists($entity, 'getCreator') && is_null($entity->getCreator())) { この1か所の変更でもcreator_idは更新されなくなりました。 もっと良い方法がないか少し色々試してみようと思います。 貴重なヒントをありがとうございました! |
cyb2019 |
投稿日時: 2019/7/22 18:17
対応状況: −−−
|
新米 登録日: 2019/7/9 居住地: 投稿: 10 |
Re: テーブル更新時にcreator_idを更新させない方法 ご教示いただきましたとおり、該当するEntityのsetCreatorに条件判定を入れたうえで、
Eccube\Doctrine\EventSubscriber\SaveEventSubscriber のpreUpdateの個所をコメントアウトして、現在ログイン中のidを渡さないよう変更いたしましたら、creator_idは更新されなくなりました。 この度は、誠にありがとうございました! |
red |
投稿日時: 2019/7/22 17:02
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1568 |
Re: テーブル更新時にcreator_idを更新させない方法 それぞれのEntityのsetCreatorを
if ($creator) { $this->Creator = $creator; } とかすると出来る気がします
|
cyb2019 |
投稿日時: 2019/7/22 10:46
対応状況: −−−
|
新米 登録日: 2019/7/9 居住地: 投稿: 10 |
テーブル更新時にcreator_idを更新させない方法 ▼テンプレート
[EC-CUBE]EC-CUBE 4.0.2 [レンタルサーバ]さくらのレンタルサーバ [OS]FreeBSD 9.1 [PHP]PHP7.2.19 [データベース]MySQL 5.7.23 [WEBサーバ]Apache2.4.39 [ブラウザ]Google chrome [現象] テーブル更新時にcreator_idを更新させない方法はございますでしょうか。 このフォーラムを参考に、追加メンバーと商品を紐づけて一覧表示させるカスタマイズを試みているのですが、システム管理者が商品名などを更新したら、システム管理者のcreaotr_idで更新されてしまい、困っております。 Eccube\Doctrine\EventSubscriber\SaveEventSubscriber のpreUpdateの個所をコメントアウトしてもnullで更新されてしまいました。 EC-CUBE側の設定で、creaotr_idはinsert時に登録されるだけにして、更新時にはupdate_dateのみ更新させることは不可能でしょうか。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |