doctrine2 の ManyToMany 関係に問題があります。関係は存在しますが、関係は持続しません。2 つの foreach ループで永続化を確認すると、正しいオブジェクトが返されます。
最初のクラスはドキュメントです。
class Document extends BaseEntity
{
....
/**
* @ORM\ManyToMany(targetEntity="Job", mappedBy="documents", cascade={"all"})
* @ORM\JoinTable(name="job_document")
*/
protected $jobs;
....
2番目のクラスはヨブです
class Job extends BaseEntity
{
....
/**
* @ORM\ManyToMany(targetEntity="Document", inversedBy="jobs", cascade={"all"})
* @ORM\JoinTable(name="job_document")
*/
protected $documents;
....
私のコントローラーでは、次のことを行います。
$job->addDocument($document);
$document->addJob($job);
$em->persist($job);
$em->flush();
追加機能は正常に機能します。これを行った後、オブジェクトをループするとわかります。