0
在Symfony2中,我有一個用戶實體這些列:自動數據庫查詢中的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查詢。 First Symfony首先下載關於登錄用戶的信息,然後下載關於用戶的所有關於他的信息,即使這些信息是無用的。我只在用戶發送消息時才需要它。
這是一種更好地編寫/構建數據庫的方法嗎?如何控制Symfony2中的自動生成查詢?
您可以粘貼這些查詢嗎? –
SELECT t0.id AS id1,t0.username [...] FROM users t0 LEFT JOIN users [...] WHERE t0.id =? 第二個查詢: SELECT t0.id AS id1,t0.username [...] FROM users t0 LEFT JOIN users [...] WHERE t0.lover =? – Bartosz