Symfony 2:新实体参数未保存或不返回空

时间:2019-07-02 23:25:42

标签: php symfony

我已向实体添加了新参数,但无法保存或无法在检索中返回值。实体中的参数及其getter和setter可以在下面看到。

/**
 * @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;
}

我创建了一个迁移,并且新字段已添加到事务表中。当我尝试保存时,将添加一条新记录,但仅保存以前存在的参数,而不保存$ 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 清除了缓存。我在实体中缺少什么,使新值无法按预期工作?

0 个答案:

没有答案