問題タブ [jms-serializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
201 参照

symfony - jmsserialize が OneToOne エンティティを正しい方法で逆シリアル化しない

私は2つのエンティティを持っています:UserUserInfo:

そして、JMSSerializer とその Doctrine Contructor によって送信された User を逆シリアル化しようとしています。が指定されていない場合、すべて正常に動作しUserInfoます。ユーザーが DB からロードされ、送信されたフィールドが更新されます。

送信する方法:

私が逆シリアル化されるのは、User と UserInfo が十分にロードされていることです。

しかし、次のようなものを送信しようとすると:

short_date_formatは更新およびシリアル化されますが、他のすべてのフィールドは DB からロードされず、すべてが に設定されnullます。これは私が取得したい動作ではありません。どうすればこれを修正できますか?

アップデート

適切にやりたいのであれば、単一の「ネストレベル」にパッチを当てたほうがいいと思いました。URL は次のようになります (FOSRestbundle コントローラーの注釈)。

このようにして、Ocramius の提案に従って userInfoにパッチを当てることができます。誰かがこれについてフィードバックをくれますか? まともなパッチを実装するために、それが良い/ベストプラクティスになると思いますか?

0 投票する
2 に答える
150 参照

php - FosRestBundle: 動的仮想プロパティ

FOSRestBundle : Annotations では、データベースからプロパティ名を取得するため、複数の@VirtualPropertyを動的な名前で使用したい(プロパティの数は不明)

property_name1 & property_name2 .. property_name3 .. などは無限数で動的です

それらを仮想プロパティとして設定したいのですが、各プロパティには文字列値があります。

それらを1つのプロパティを持つ配列として設定したくありません。

これを行う方法がない場合は、コントローラーから同じタスクを実行できるかどうか教えてください。

0 投票する
1 に答える
329 参照

php - JMS シリアライザーを使用して XML をデシリアライズし、空の opbject を取得します

次の XML を逆シリアル化しようとしています。

次のエンティティを作成しました。

これは 2 番目のエンティティです。

次に、コントローラーで次のコードを使用してシリアル化します。

オブジェクトだけが空になり続けますか?

0 投票する
0 に答える
601 参照

symfony - シリアル化グループを無視する Symfony2/FOSRestbundle (結果の配列用)

シリアライゼーション グループは、1 つのエンティティをフェッチするときにうまく機能しますが、結果の配列をフェッチしようとすると、空の結果セットが得られます。

私はこれをそのようにします:

ビューオブジェクトに手動でコンテキストを設定しようとしましたが、同じ状況です。グループを設定しないか、「デフォルト」に設定した場合:

適切なシリアル化された結果セットを取得しました。

私のエンティティ:

そして私のコントローラー:

PS。

0 投票する
1 に答える
50 参照

doctrine-orm - ObjectConstructor で注釈グループを考慮する方法

JMSSerializer には Doctrine Object Constructor が付属していますが、主キーを形成する 2 つのプロパティを持つエンティティを想像してみてください。

group=1逆シリアル化中に使用することで、1 つのプロパティ キーが除外されます。クライアントは引き続き と の両方emailを送信する可能性がありusernameます。email考慮すべきではありませんが。

残念ながら、本体で 2 つのプロパティを渡すと、DoctrineObjectConstructor逆シリアル化によって何かが除外されているかどうかがチェックされないため、2 つの値に従って、DB からエンティティをロードしようとします。

私がやりたいことは、注釈を付けたグループを考慮してfallbackConstructor、識別子を形成するプロパティが欠落している場合に使用することです。

スターターとして、これは良い点です。私は独自のサービスを作成しましたannotationDriver。次に、識別子を形成するプロパティが実際のグループに関連付けられていない場合:

fallbackConstructor本体でそのプロパティを渡さなかったかのように、 にフォールバックできます

...そんなに早くない!私のエンティティは、すべての識別子が存在Userする場所を拡張するUserBaseため、おそらく一般的な方法で階層を考慮する必要があります。

ヒントはありますか?