【问题标题】:Duplicate field in response symfony2 entity响应 symfony2 实体中的重复字段
【发布时间】:2017-03-07 11:13:52
【问题描述】:

我正在使用 symfony 2,我在数据库“old_status”中有一个字段。我想将其更改为“status”字段(数据库+实体都更改。我更改它是因为它让开发人员感到困惑)

   /**
     * @var integer
     *
     * @ORM\Column(name="status", type="smallint", nullable=false, options={"unsigned"=true})
     *
     * @Expose
     */
    private $status;

所以在响应中它会变成“status”。但我不想更改合同。我想同时显示“old_status”和“status”字段但具有相同的值。因此,当前合作伙伴将继续使用“old_status”,直到他们移至新领域。新伙伴将使用“状态”。

我不想在数据库中添加更多字段,我想通过使用实体来处理它。

我可以用实体做吗?

【问题讨论】:

    标签: php symfony annotations doctrine entity


    【解决方案1】:

    您可以简单地保留旧的 getter,让新旧方法都使用新的字段名称 status

    类似:

    public function getStatus() {
        return $this->status;
    }
    
    /**
     * @deprecated Renamed to getStatus
     */
    public function getOldStatus() {
        return $this->status;
    }
    

    如果需要,您可以使用其他方法(例如 setter)执行类似操作。

    由于$status是一个私有字段,它只是一个公共接口的问题。

    【讨论】:

      猜你喜欢
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多