1
我想找出一种方法来级联与实体关联的所有实体的操作。例如,如果我有一个用户,并且一个用户有实体,并且这些实体有实体,我想对每个实体执行操作。具体而言,我想对该树中的每个实体执行验证。如何在实体上级联用户定义的操作?
我将如何实现像“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);
}
我知道我可以用生命周期回调来进行验证。但是,设置验证注释使事情变得更容易。我可以验证我坚持的每个实体,但我无法验证其关联的实体。
谢谢您的回复。不幸的是,你没有回答这个问题。我得出的结论是,没有办法在实体上级联操作。可以做的最好的就是使用生命周期回调,我已经在这个问题中解决了这个问题。回调的问题是它们只发生在持久,加载和移除等操作过程中。如果你想在其他时间做一个动作,那么你的运气不好。不过,我现在认为这很好。如果你不能用生命周期回调来做,你可能不应该这样做:) – 2013-03-25 16:45:30