で定期的にオブジェクト間のプロキシオブジェクト、私は2つのクエリを持っています私が受け取った変数$object
はProxyオブジェクトを受け取ります。はDoctrine2私のSymfony2のコントローラでのgetResult
私が$objects
コレクションを出力し、各要素に対してフィールド、名前、フィールド1、フィールド2を含む出力を出力したい場合、このオブジェクトのフィールド2にはnullが返されます。実際に、これを他のコントローラと共に起動した場合、を取得すると、オブジェクトへの参照ごとにfield2もnullになります。例えば
Iのように、各オブジェクトを表示する場合は、:
name field1 field2
Iは、$objects
に対して以下の配列を取得:
$object
ある
nameExample field1Example field2Example
nameExample field1Example field2Example
nameExample field1Example
nameExample field1Example field2Example
nameExample field1Example field2Example
。
最初のクエリでfield2を取得した場合、それは2番目のクエリのgetResultでも表示されます。しかし、それは私がEntityオブジェクトのために受け取ったすべてのフィールドをRequest全体で制御できるようにします。
- 私は間違っていましたか?
- どうすればその影響を避けることができますか?私はまだ多次元配列ではないオブジェクトを扱いたい(
HYDRATE_ARRAY
) - doctrineは常にプロキシオブジェクトではないエンティティオブジェクトを強制的に生成する方法はありますか?
ありがとうございます。
ありがとうございました。以前は同様の解決策を検討していましたが、この問題は、1対多の関連付けを持つエンティティを他のエンティティに2回クエリすると、1つのクエリ例でも発生します。この場合、同じクエリー内にあるので、オブジェクトを切り離したりemをクリアすることはできません。あなたはそれについてどう思いますか? –
「二度作った」というのはどういう意味ですか?エンティティBとの2つの異なる関連付けを持つエンティティAを持っていますか?(例えば、 'News'エンティティは' created_by'と 'updated_by'フィールドの両方が' User'エンティティを指しています)?そしてあなたは何とかそれらに 'PARTIAL'をロードしていますか? –
私は、ここで説明した状況を意味しています:https://github.com/doctrine/doctrine2/issues/5731。実際、この問題はこのような関連性の変化に気づいているので十分正確ではありませんでした: 'A-> B →A。 –