質問 > その他 > 外部キー削除 |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kenshi |
投稿日時: 2020/11/25 15:02
対応状況: −−−
|
一人前 登録日: 2020/6/29 居住地: 投稿: 83 |
Re: 外部キー削除 こちらコメントアウトしたら、削除できるようになりました。
$em->createQuery("DELETE \Eccube\Entity\ProductTag pt WHERE pt.Tag = :tag")->execute(['tag' => $Tag]); このコードは、関係性(IDの紐付き)を調べているわけでもなさそうだがなんだろう、、、 ただ、IDが紐づいているデータまで削除されます、、、 カテゴリ一覧のようにテンプレートで、制限しようと思います。 他に良い方法があればご教授ください。 |
kenshi |
投稿日時: 2020/11/25 14:20
対応状況: 保留
|
一人前 登録日: 2020/6/29 居住地: 投稿: 83 |
外部キー削除 新規テーブルを作成しました。
外部キーの影響でデータの削除ができません。 リレーションを貼っているのですが、まだ使用していないIDのデータを削除したいです。 「 関連するデータがあるため「XXXX」を削除できませんでした」 こちらのdeleteメソッドを加工したのを使用しています。 /** * タグを削除する. * * @param Tag $Tag 削除対象のタグ */ public function delete($Tag) { $em = $this->getEntityManager(); $em->beginTransaction(); $em->createQuery("DELETE \Eccube\Entity\ProductTag pt WHERE pt.Tag = :tag")->execute(['tag' => $Tag]); $em->remove($Tag); $em->flush($Tag); $em->commit(); } ■Entity mappedBy inversedBy など設定しております。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |