1

我有一个具有 2 个属性 _obc_id、obc_id 的实体

class myEntity {
  ...
  /**
   * @ORM\Column(name="obc_id", type="integer", nullable=false)
   */
  private $obc_id;
  /**
   * @ORM\Column(name="_obc_id", type="integer", nullable=false)
   */
  private $_obc_id;

  public function get_obcId()
  {
    return $this->_obc_id;
  }
  public function getObcId()
  {
    return $this->obc_id;
  }
  public function set_obcId($value);
  {
     $this->_obc_id = $value;
     return $this;
  }
  public function setObcId($value);
  {
     $this->obc_id = $value;
     return $this;
  }
}

Doctrine 不能调用 set_obcId() 、 get_obcId(),它返回“既不是属性也不是方法之一”,我还写了一个 __set 和 __get ,但它不起作用。

4

1 回答 1

0

如果您想以这种方式使用 getter/setter,请尝试重命名变量:

private $obcId;
private $_obcId;

但是,我建议不要使用 2 个如此相似的列名,并且不要在列名的开头使用下划线(因此也不要在变量名中使用它)。

于 2014-12-10T16:41:49.213 回答