Symfony - настройка объекта дублированного объекта - PullRequest
0 голосов
/ 22 января 2020

Я нацеливаюсь на все объекты сущностей из одной таблицы, чтобы заполнить другую теми же данными.

Я хочу установить результаты, которые я нашел в таблице CardBalances, на Balance tablefind с тем же card_id в первой таблице.

Я написал метод, но он выдает ошибку:

«Вызов функции-члена 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();

Я хочу установить данные если их нет в базе данных, и если необходимо обновить существующие.

1 Ответ

2 голосов
/ 22 января 2020

Вам необходимо изменить

$newBalance = $existingBalances;

на

$newBalance = $balance;

, поскольку $ существующиеBalances - это массив.

...