エンティティに関連付けられたすべてのエンティティに対して操作をカスケードする方法を見つけようとしています。たとえば、ユーザーがいて、ユーザーにエンティティがあり、それらのエンティティにエンティティがある場合、すべてのエンティティに対して操作を実行したいと考えています。具体的には、そのツリー内のすべてのエンティティに対して検証を実行したいと考えています。
「getAssociatedEntities()」のようなものをどのように実装しますか?
class User {
/**
* @ManyToOne(targetEntity="Comment")
*/
private $comment;
/**
* @ManyToOne(targetEntity="Something")
*/
private $something;
}
$user->setComment($comment);
$user->setSomething($something);
$associated_entities = $user->getAssociatedEntities(); // NOT A REAL METHOD
foreach ($associated_entities AS $entity) {
validate($entity);
}
ライフサイクル コールバックを使用して検証を実行できることに気付きました。ただし、検証アノテーションを設定すると、物事が非常に簡単になります。保持するすべてのエンティティを検証できますが、関連するエンティティを検証することはできません。