Symfony2中用户实体的自动数据库查询

时间:2015-08-08 15:29:46

标签: php mysql symfony doctrine-orm

在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中控制自动生成查询?

1 个答案:

答案 0 :(得分:0)

我也遇到过类似的问题。似乎LazyLoad对于学说中的OneToOne关系不起作用。见this question

相关问题