バージョン選択

フォーラム

メニュー

オンライン状況

74 人のユーザが現在オンラインです。 (66 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 74
もっと...

サイト内検索

質問 > その他 > 外部キー削除

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
など設定しております。
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が紐づいているデータまで削除されます、、、

カテゴリ一覧のようにテンプレートで、制限しようと思います。

他に良い方法があればご教授ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.