我需要使用已存在的相同数据创建一组新的DB记录。见下图:
以此为例,我需要创建相同的记录集,但只需更改列公司,减去UPC = I5TYF1UPORMYUY4JT21Z
,使用此信息我只需将公司更改为{{{}即可生成两行1}}(任何数字)。我认为使用这个记录来获取这些记录:
52
Wich返回正确的记录,但我不知道如何从那一点继续。我的实体拥有所有这些方法:
$entityStockDetailHasProductDetail = $this->getDoctrine()->getManager()->getRepository('ProductBundle:StockDetailHasProductDetail')->findBy(array(
"product" => $request->request->get('product')['id'],
"upc" => $request->request->get('product')['upc'],
));
有什么想法吗?
答案 0 :(得分:2)
只需循环遍历集合,克隆您的实体,设置新公司并保留。
$em = $this->getDoctrine()->getEntityManager('default');
$collection = $em->getRepository('YourBundle:Entity')->findBy(array('...'));
foreach ($collection as $entity) {
$newEntity = clone $entity;
$newEntity
->setId(null)
->setCompany($company)
;
$em->persist($newEntity);
}
$em->flush();