我有这样的实体:
/**
*
* @Table(name="table")
* @Entity
*/
class Table {
/**
* @Column(type="integer")
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ManyToOne(targetEntity="Entities\Users")
* @joinColumn(name="userId", referencedColumnName="id")
*/
private $User;
/**
* @Column(type="string")
*/
private $text;
}
Run Code Online (Sandbox Code Playgroud)
如果我做
$q->getQuery()->getSingleResult()->getUser()->getUserId()
doctrine生成查询,如:
SELECT * FROM table t INNER JOIN users u ON u.id = t.userId WHERE id = 100
Run Code Online (Sandbox Code Playgroud)
但如果我不需要表用户,如何获得userId.
在纯SQL中,我可以
SELECT * FROM table WHERE id = 100
Run Code Online (Sandbox Code Playgroud)
并获取没有join users表的userId.