私には2つのエンティティがあります:UserとPersonです。
エンティティUserには、関連付けられた人のID user_idが必要です。
新しいユーザーを作成するときは、最初にユーザーを作成し、次にユーザーを作成する必要があります。ユーザーでは、対応する人のIDを入力する必要があります。そのために、自動インクリメントである永続オブジェクトpersonのIDを取得する必要があります。
次の後にオブジェクトのIDを取得することは可能ですか?
$em->persist($person);
$em->flush();
そして、どうすればこれを行うことができますか?
別の方法は、テーブルPersonで最大のIDを検索してこれを取得することですが、永続化されたオブジェクトのIDを取得するためのより適切で簡単な方法があるはずです。
たとえばphpでは、実行するとき
$articleID = $_DB->queryRaw((....);
私はそのようなIDを取得しています。
DoctrineでのSymfony2 デフォルトとしてORMはデータベースに保存されたデータの後にIDを自動的に生成します。したがって、->getId()
でIDを呼び出すことができます
$id = $person->getId();