9

誰かが私にこれを説明できますか:

$user = new User();

/* why do I have to call Entity Comment while trying to insert into db?  */
$myFirstComment = new Comment();

$user->addComment($myFirstComment);

$em->persist($user);
$em->persist($myFirstComment);
$em->flush();

データベースに挿入しようとしているときに Entity Comment を呼び出さなければならないのはなぜですか?

そのためにカスケードがあります。

  1. これは、ユーザー エンティティに他のエンティティとの 50 のリレーションがある場合、更新/挿入/削除しようとするときに各リレーションを手動で呼び出さなければならないということですか?
  2. すべて手動で行わなければならないのに、なぜカスケードが存在するのですか?

そのリレーションをすべて手動で呼び出さなければならない場合、Doctrine を使用するのはちょっとばかげています。

わかりません。どんな助けでも大歓迎です。

これはこれに関連しています:教義2、リレーションが存在するときにデータベースに挿入できません

4

1 に答える 1