我创建了两个Doctrine Entity,如下所示。
class Corporate {
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
....
...
/**
* @ORM\OneToMany(targetEntity="CorporateJobs", mappedBy="corporate", cascade={"persist","remove"})
**/
private $corporate_jobs;
}
并且在CorporateJobs实体表中明确对应ManytoOne关系。
class CorporateJobs {
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Corporate")
* @ORM\JoinColumn(name="corporate_id", referencedColumnName="id", nullable=true)
**/
private $corporate;
}
从Indexcontroller检索值时, 它没有进入我的corporateJobs表。
array(22){[“id”] => int(6)[“prefix”] => NULL [“first_name”] => string(8)“Mob”[“last_name”] => string(1)“b”[“corporate_jobs”] => array(0){}}
corporate_jobs表包含像corporate_id jobtitle jobdescription location /的字段 Corporate_id映射到公司实体中的user_id或corporate_id。
答案 0 :(得分:0)
@ORM\ManyToOne(targetEntity="Corporate")
@ORM\OneToMany(targetEntity="CorporateJobs")
targetEntity需要完整的命名空间到Entity,否则Doctrine不会知道Corporate实体的任何表映射。