2016-05-05 3 views
0

バルク挿入データからすべての挿入IDを取得するにはどうすればよいですか? としての私のコードは以下です:symfony2でバルクフラッシュの挿入IDを取得するには

foreach ($urls as $url) { 
     $subDocument = new SubDocument(); 
     $subDocument->setUrl($url); 
     $subDocument->setParentDocument($parentDocument); 
     $dm->persist($subDocument); 
    } 
    $dm->flush(); 
    $dm->clear(); 

は今、どのようにして、レコードのこれらのインサートのIdsを得ることができますか?

答えて

1

$dm->flush();の後にSubdocumentのIDにアクセスすることができます。そのため、フラッシュ後にIDを取得するには、Subdocumentインスタンスを保持する必要があります。

$subDocuments = array(); // init array 
foreach ($urls as $url) { 
    $subDocument = new SubDocument(); 
    $subDocument->setUrl($url); 
    $subDocument->setParentDocument($parentDocument); 
    $subDocuments[] = $subDocument; //added to array 
    $dm->persist($subDocument); 
} 
$dm->flush(); 
//now you can access IDs iterating $subDocuments like: 
foreach($subDocuments as $subDocument) { 
    echo $subDocument->getId(); 
} 
+0

ありがとうございました – Mojilo

関連する問題