如何在symfony2中设置关系

时间:2013-12-16 11:26:01

标签: php mysql symfony doctrine-orm

我是symfony2和doctrine的新手。在我的项目中,我有一个名为clients的表,它存储了客户的详细信息。客户表有一个名为country id的字段,这是country table的主键。可以请任何人告诉我那,在这种情况下我必须设定哪种关系。

1 个答案:

答案 0 :(得分:3)

查看文档中的“Databases and Doctrine”部分

Client> Country(ManyToOne)

Country> Client(OneToMany)(如果需要)

客户实体

class Client
{
    // ...

    /**
     * @ORM\ManyToOne(targetEntity="Country", inversedBy="clients")
     * @ORM\JoinColumn(name="country_id", referencedColumnName="id")
     */
    protected $country;
}

国家/地区实体

class Country
{
    // ...

    /**
     * @ORM\OneToMany(targetEntity="Client", mappedBy="country")
     */
     protected $clients;

    public function __construct()
    {
        $this->clients = new ArrayCollection();
    }
}