Symfony 2: новый параметр сущности не сохраняет или возвращает ноль - PullRequest
0 голосов
/ 03 июля 2019

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

/**
 * @ORM\Column(name="amount", type="decimal", scale=2, nullable=true)
 */
protected $amount;

/**
 * Set amount
 *
 * @param decimal $amount
 *
 * @return Transaction
 */
public function setAmount($amount)
{
    $this->amount = $amount;

    return $this;
}

/**
 * Get amount
 *
 * @return decimal
 */
public function getAmount()
{
    return $this->amount;
}

Я создал миграцию, и новое поле было добавлено в таблицу транзакций. Когда я пытаюсь сохранить, будет добавлена ​​новая запись, но сохранятся только ранее существующие параметры, а не сумма $.

$this->addSql("ALTER TABLE transaction ADD amount NUMERIC(10, 2) DEFAULT NULL AFTER payment_method");

Не понимая, почему это не спасет, я решил обновить таблицу базы данных напрямую, чтобы посмотреть, смогу ли я получить вручную. Я установил значение суммы на 123.45 введенное значение с этим:

    $manager = $this->getDoctrine()->getManager();
    $transaction = $manager->getRepository('ShopHqCartBundle:Transaction')
        ->findOneByTransactionId($id);

    var_dump($transaction->getId());
    var_dump($transaction->getTransactionStatus());
    var_dump($transaction->getAmount());

Все значения, кроме нового параметра amount, работают нормально, но getAMount() возвращает null. Если я обновлю метод getAmount(), чтобы он возвращал transactionStatus, он вернет статус OK. Таким образом, проблема заключается в объявлении параметра в сущности, но я не вижу, как и где.

public function getAmount()
{
    return $this->transactionStatus; // Return $transactionStatus as a test
}

Я также очищаю кеш с помощью php app/console cache:clear . Чего мне не хватает в сущности, мешающей новому значению работать так, как ожидалось?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...