Doctrine 2 エンティティの配列表現を取得する必要があります。このライブラリをオンラインで見つけました。この目的のためにこのクラスを使用しています。
https://github.com/borisguery/bgylibrary/blob/master/library/Bgy/Doctrine/EntitySerializer.php
問題は、クラスがうまく機能することですが、問題は、別のエンティティ (多対 1) との関係であるエンティティのすべての属性が、結果の配列のすべてのフィールドで null 値を持つことです。
実際の例:
私はエンティティの人を持っています:
<?php
名前空間エンティティ;
/** * @Entity(repositoryClass="Repositories\PersonRepository") */ class Person {
/**
* @Id @GeneratedValue
* @Column(type="bigint")
* @var integer
*/
protected $id;
/**
* @Column(type="string", length=32)
* @var string
*/
protected $firstname;
/**
* @Column(type="string", length=32, nullable="true")
* @var string
*/
/**
* @ManyToOne(targetEntity="Gender", cascade={"detach"})
* @JoinColumn(name="gender", referencedColumnName="id")
*/
protected $gender;
そして、性別(id-> 1およびname-> Male)でデータベースに保存された1人の人物オブジェクトがあります。このクラスを使用してその人物オブジェクトを配列に変換すると、次の結果が得られました。
"id": "1", "firstname": "lh", "middlename": "", "lastname": "kbkjbkl", "dob": { "date": "1982-05-25 00:00: 00", "timezone_type": 3, "timezone": "アメリカ/ニューヨーク" }, "home_phone_number": "8798798", "work_phone_number": "987987", "cell_phone_number": "987987", "ssn": "98798 ", "email": "kjhlkjlk", "性別": { "id": null, "name": null }, "race": { "id": null, "name": null }, "address": { "id": null,"address_line1": null, "address_line2": null, "city": null, "zip": null, "state": null }, "marital_status": { "id": null, "name": null }
強調表示された性別の値に注意してください (null があります)。1とMaleが必要な場合。
どんな助けでも本当に感謝します。