2017-03-07 5 views
1

私はsymfony 2を使用しています。データベースには "old_status"というフィールドが1つあります。私は応答して、それは状態」に変わりますレスポンスsymfony2エンティティの重複フィールド

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

(これは、開発者の混乱を作っているので、私はそれを変更するデータベース+エンティティの両方の変化。)「状態」フィールドにそれを変更したいです"しかし、私は契約を変更したくありません。 「old_status」と「ステータス」の両方のフィールドを同じ値で表示したいとします。したがって、現在のパートナーは新しいフィールドに移動するまで「old_status」を使用し続けます。新しいパートナーは「ステータス」を使用します。

データベースにフィールドを追加したくないので、使用エンティティでハンドリングしたいと思います。

エンティティで行うことはできますか?

答えて

0

古いゲッターを残して、新しいメソッド名と古いメソッド名の両方に新しいフィールド名statusを使用するだけです。以下のような

何か:必要に応じて

public function getStatus() { 
    return $this->status; 
} 

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

あなたは、セッターのように、他の方法と同様のことを行うことができます。

$statusはプライベートフィールドなので、パブリックインターフェイスの問題です。

関連する問題