学说连接表没有反映

时间:2015-02-24 11:23:37

标签: php mysql symfony doctrine-orm doctrine

我创建了两个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。

1 个答案:

答案 0 :(得分:0)

@ORM\ManyToOne(targetEntity="Corporate")
@ORM\OneToMany(targetEntity="CorporateJobs")

targetEntity需要完整的命名空间到Entity,否则Doctrine不会知道Corporate实体的任何表映射。