私たちはSymfony2を使ってAPIを作成しています。レコードを更新する際には、JSON入力がシリアル化された更新されたエンティティを表すことが期待されます。 JSONデータにはいくつかのフィールドは含まれません(たとえば、CreatedAtは、エンティティが作成されたときに一度しか設定されず、更新されません)。例えば、ここでの例JSONのPUT要求である:ここシリアライズされたJSONからDoctrine Entityを更新するにはどうすればよいですか?
{"id":"1","name":"anyname","description":"anydescription"}
は、(我々はJMSシリアライザバンドルを使用している)上にJSONに応じてエンティティを更新する必要がコントローラ上のPHPコードである:
$supplier = $serializer->deserialize(
$this->get('request')->getContent(),
'WhateverEntity',
'json'
);
EntityMangerは、これが更新要求であることを(正確に)理解しています(実際には、SELECTクエリが暗黙的に起動されます)。 EntityManagerは、CreatedAtプロパティをNULL化する必要があると推測します(正しくはありません)。以前のものを保持する必要があります。
この問題を解決するにはどうすればよいですか?