Symfony - 重复实体对象设置

我的目标是一个表中的所有实体对象,以用相同的数据填充另一个表。


我想将在 CardBalances 表中找到的结果设置为通过第一个表中的相同 card_id 找到的 Balances 表。


我写了方法,但它抛出错误:


“调用数组上的成员函数 setBalance()”(所有对象的错误)


我得到的最接近的是:


$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();

如果它们不在数据库中,我想设置数据,如果要更新现有的。


湖上湖
浏览 97回答 1
1回答

慕虎7371278

你需要改变$newBalance = $existingBalances;至$newBalance = $balance;因为 $existingBalances 是一个数组。
打开App,查看更多内容
随时随地看视频慕课网APP