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 是一个数组。