2016-06-29 4 views
0

Doctrineからエンティティのリストを取得すると、どのように異なるjsonのビューを返すことができますか?すなわち、 私が学生のクラスを読み込むとき、私は唯一のid, displayNameとビューがほしいと思うと、より多くの詳細id, firstName, lastName, email, groupsと別の。 グループはid, nameの別のコレクションです。 私はルーメンと教義を使用しています。異なるjsonビューへのDoctrineエンティティ

+0

[PHPオブジェクトをJSONにシリアル化する]の複製があります(http://stackoverflow.com/questions/6836592/serializing-php-object-to-json) – goto

+0

@goto私はそれが重複しているとは思わない。あなたのリンクは、すべてのフィールドのシリアル化に関する情報を提供します。私はちょうどいくつかのフィールドをシリアル化したい。さらに、リクエストAの場合は2つのフィールドを、リクエストBの場合は5つのフィールドをシリアル化できなければなりません。 – BakGat

答えて

0

エンティティにJsonSerializableインターフェイスを実装し、カスタムバージョンを作成できます。 すなわち:あなたが必要なときにいつでも$myEntityObject->jsonSerialize()を呼び出すことができます

class MyEntity implements JsonSerializable { 

    /** 
    * Doctrine annotation 
    */ 
    private $myEntityMember; 

    ... 

    public function jsonSerialize() { 
    //serialize your entity here and use custom params to modify the serialized object output 
    } 

} 

この方法です。

関連する問題