Symfony - 复制实体对象设置
Symfony - duplicate entity object setting
我的目标是一个 table 中的所有实体对象,以用相同的数据填充另一个。
我想将我在 CardBalances table 中找到的结果设置为 Balances tablefind by the same card_id in first table.
我写了方法但它抛出错误:
"Call to a member function setBalance() on array" (error for all objects)
我得到的最接近的是:
$newBalance = null;
$existingBalances = $this->getCardBalanceRepository()->findBy(['gpsCard' => $gpsCard]);
foreach ($existingBalances as $balance) {
$id = $gpsCard->getId();
if(isset($id)) {
$newBalance = $existingBalances;
} else {
$newBalance = new Balance();
$this->em->persist($newBalance);
}
$newBalance->setBalance($balance->getBalance());
$newBalance->setCurrency($balance->getCurrency());
$newBalance->setisMain($balance->getisMain());
}
$this->em->flush();
如果数据库中没有数据,我想设置数据,如果要更新现有数据。
你需要改变
$newBalance = $existingBalances;
至
$newBalance = $balance;
因为 $existingBalances 是一个数组。
我的目标是一个 table 中的所有实体对象,以用相同的数据填充另一个。
我想将我在 CardBalances table 中找到的结果设置为 Balances tablefind by the same card_id in first table.
我写了方法但它抛出错误:
"Call to a member function setBalance() on array" (error for all objects)
我得到的最接近的是:
$newBalance = null;
$existingBalances = $this->getCardBalanceRepository()->findBy(['gpsCard' => $gpsCard]);
foreach ($existingBalances as $balance) {
$id = $gpsCard->getId();
if(isset($id)) {
$newBalance = $existingBalances;
} else {
$newBalance = new Balance();
$this->em->persist($newBalance);
}
$newBalance->setBalance($balance->getBalance());
$newBalance->setCurrency($balance->getCurrency());
$newBalance->setisMain($balance->getisMain());
}
$this->em->flush();
如果数据库中没有数据,我想设置数据,如果要更新现有数据。
你需要改变
$newBalance = $existingBalances;
至
$newBalance = $balance;
因为 $existingBalances 是一个数组。