簡単にするために、1対多の関係を持つ2つのオブジェクトがあるとしましょう。
ユーザー-(1:n)->リクエスト
ユーザーは次のように定義されます
class User {
...
/** @OneToMany(targetEntity="Request", mappedBy="user", cascade={"all"}) */
private $request;
...
}
およびリクエストは次のように定義されます
class Request {
...
/** @ManyToOne(targetEntity="User", inversedBy="request", cascade={"persist"}) */
private $user;
...
}
ユーザーエンティティ内からユーザーに関連付けられたすべてのリクエストを削除するメソッドを作成することは可能ですか?
私が必要としているのは次のようなものです。
class User {
....
public function removeAllMyRequests() {
foreach ($this->getAllMyRequests() as $req)
$this->em->remove($req);
}
....
}
しかし、どうやら私はエンティティ内からエンティティマネージャを呼び出すことになっていないようです。