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

そのようにゲッター/セッターを使用したい場合は、変数の名前を変更してみてください。

private $obcId;
private $_obcId;

ただし、非常に似ている 2 つの列名を使用したり、列名の先頭にアンダースコアを使用したりしないことをお勧めします (したがって、変数名にも使用しないでください)。

于 2014-12-10T16:41:49.213 に答える