36

UserとPersonの2つのエンティティがあります。

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

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

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

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

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

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

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

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

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

4

1 に答える 1

54

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

$id = $person->getId();
于 2012-10-18T10:20:06.527 に答える