web-dev-qa-db-ja.com

Symfony2:永続化オブジェクトのIDを取得します

私には2つのエンティティがあります:UserとPersonです。

エンティティUserには、関連付けられた人のID user_idが必要です。

新しいユーザーを作成するときは、最初にユーザーを作成し、次にユーザーを作成する必要があります。ユーザーでは、対応する人のIDを入力する必要があります。そのために、自動インクリメントである永続オブジェクトpersonのIDを取得する必要があります。

次の後にオブジェクトのIDを取得することは可能ですか?

$em->persist($person);
$em->flush();

そして、どうすればこれを行うことができますか?

別の方法は、テーブルPersonで最大のIDを検索してこれを取得することですが、永続化されたオブジェクトのIDを取得するためのより適切で簡単な方法があるはずです。

たとえばphpでは、実行するとき

$articleID = $_DB->queryRaw((....);

私はそのようなIDを取得しています。

29
Miloš

DoctrineでのSymfony2 デフォルトとしてORMはデータベースに保存されたデータの後にIDを自動的に生成します。したがって、->getId()でIDを呼び出すことができます

$id = $person->getId();
46
Habibillah