私は次のようなクラスを持っています:
/** @Entity **/
class orgGroup{
//id and stuff...
/**
* @Column(type="string")
**/
private $name;
/**
* @Column(type="string", nullable=true)
**/
private $description;
/**
* @ManyToOne(targetEntity="orgGroupType", inversedBy="_orgGroups")
* @JoinColumn(name="_orgGroupType")
**/
private $_orgGroupType;
//...
}
しかし、データベースからこのオブジェクトをロードすると、
$groups = $em->getRepository("orgGroup")->findAll();
名前は正しく取得できますが、_orgGroupTypeは取得できません...理由はわかりません... OrgGroupはorgGroupTypeの所有者であり、配列ではなく1つのオブジェクトのみです。私のWebサービスは常に次のように言っています。
{"error":[],"warning":[],"message":[],"data":[{"name":"AdministratorGroup","description":null,"_orgGroupType":{"__ isInitialized __":false}}]}
結果は次のとおりです。
"name":"AdministratorGroup",
"description":null,
"_orgGroupType":{"__ isInitialized __":false}
しかし、次のようにする必要があります。
"name":"AdministratorGroup",
"description":"some description",
"_orgGroupType":{name:"test"}
したがって、2つのエラーがあります...そしてその理由はわかりません。すべてのデータがデータベースに正しく設定されています。
何か案は?
編集:これが私のorgGroupType-entityの欠落しているコードです
/** @Entity **/
class orgGroupType {
/**
* @OneToMany(targetEntity="orgGroup", mappedBy="_orgGroupType")
**/
private $_orgGroups;
public function __construct()
{
$this->_orgGroups = new ArrayCollection();
}
}