我使用Beego ORM进行数据库访问。目前我正在尝试编写一个连接两个表,用户和帐户的查询,并且只返回结果表的某些列。
这样的事情:
SELECT Email, FirstName, LastName, Organisation
FROM user INNER JOIN account ON user.accountId = account.Id
WHERE Activated = 0
这是我到目前为止所做的:
o.QueryTable("user").Filter("Activated", 0).RelatedSel().All(&u, "Email", "FirstName", "LastName")
现在它只返回我在用户表的All()函数中指定的列。但是,对于'帐户'它连接的表返回一切。文档说明了这一点:
qs.RelatedSel(" user")// INNER JOIN用户,仅查询字段 由expr设置
如果我这样做:
o.QueryTable("user").Filter("Activated", 0).RelatedSel("organisation").All(&u, "Email", "FirstName", "LastName")
其中'组织'是帐户表中的一列,它实际上是试图加入不是表的组织。我怎样才能得到我想要的结果?