Я добавил новый параметр в сущность, но не могу сохранить или получить значения, возвращаемые при поиске. Параметр в сущности можно увидеть ниже с его геттерами и сеттерами.
/**
* @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
. Чего мне не хватает в сущности, мешающей новому значению работать так, как ожидалось?