在Symfony2中,我在用户实体中有这些列:
*
* @ORM\OneToOne(targetEntity="User", inversedBy="lovername")
* @ORM\JoinColumn(name="lover", referencedColumnName="id", onDelete = "SET NULL")
*/
private $lover;
/**
* @ORM\OneToOne(targetEntity="User", mappedBy="lover", cascade={"persist"}, fetch="EXTRA_LAZY")
**/
private $lovername;
该项目是一个约会网站,用户只能向他/她选择的一个用户发送消息。列lover
包含他/她选择与之交谈的用户的ID。
它工作正常,但它会生成一个额外的SQL查询。首先,Symfony下载关于已登录用户的行,然后下载关于用户喜爱的每一个信息。他,即使这些信息毫无用处。我只在用户发送消息时才需要它。
这是更好地编写/构建数据库的一些方法吗?如何在Symfony2中控制自动生成查询?