質問 > 管理機能 > OneToOneリレーションのエラー |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
yuy-tank |
投稿日時: 2018/3/2 17:02
対応状況: 開発中
|
一人前 登録日: 2017/11/10 居住地: 投稿: 72 |
OneToOneリレーションのエラー \Entity\PriceList,\Entity\PriceList2というエンティティがそれぞれあります。
PriceList と PriceList2はOneToOneのリレーションです。コントローラ側で、PriceListの更新とともに、PriceListとOneToOneの関係にあるPriceList2も更新させようと思い、以下のようにymlファイルにマッピング定義しました。 PriceList.dcm.yml oneToOne: PriceList2: targetEntity: Plugin\PriceExpansion\Entity\PriceList2 cascade: ["persist","remove"] mappedBy: PriceList PriceList2.dcm.yml oneToOne: PriceList: targetEntity: Plugin\PriceExpansion\Entity\PriceList inversedBy: PriceList2 joinColumn: name: price_list_id referencedColumnName: price_list_id ところが、新規登録をする場合は、PriceListのカラムの生成時にPriceList2も自動的にカラムが作成されるのですが、更新するときになると、エラーになります。 ちなみにエラーの内容は以下です。 UniqueConstraintViolationException in AbstractMySQLDriver.php line 66: An exception occurred while executing 'INSERT INTO plg_price_list2 (price1, price2, price3, price4, price_list_id) VALUES (?, ?, ?, ?, ?)' with params ["A", "B", "C", "D", 8]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '8' for key 'UNIQ_F8C67A015688DED7' PriceListの中で、price_list_id が8のカラムを更新しようとしているのですが、エラーメッセージを読むと、どうやら重複するからいけないということになっているようです。データベースの更新は確かUPDATE文だった気がするので、INSERT文を実行しようとしていることに違和感を覚えます。よろしければ、間違っている箇所を教えてください。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» OneToOneリレーションのエラー | yuy-tank | 2018/3/2 17:02 |
Re: OneToOneリレーションのエラー | umebius | 2018/3/4 9:53 |
Re: OneToOneリレーションのエラー | yuy-tank | 2018/3/9 12:00 |
Re: OneToOneリレーションのエラー | umebius | 2018/3/9 13:23 |