我有一个模型Email_addressbelongs_to用户。在我的用户模型中,它说has_manyemail_addresses。考虑以下控制台输出:
irb(主):073:0
电子邮件地址加载(0.4ms)选择email_addresses。*从email_addresses哪里email_addresses.id=2限制1
=
irb(主):074:0
用户加载(0.1ms)选择用户。*来自用户位置users.id=2 LIMIT 1
=
irb(主):075:0
电子邮件地址加载(0.1ms)选择email_addresses。*从email_addressesemail_addresses.email=r@example.com
=
irb(主):076:0
NoMethodError:from/var/lib/gems/1.8/gems/activerecord-3.2.11/lib/active_record/relation/delegation的未定义方法用户。rb:45:in“method_missing”from(irb):76
有人能告诉我为什么当我使用where()时我无法定位用户,但当我使用find()时它可以工作吗?这是非常令人困惑的输出。
. where()
返回一个数组(特别是ActiveRecord::Relation
)。要选择返回的对象,您需要指定哪个对象。在这种情况下,因为您需要一个对象,所以您可以这样做:
b = EmailAddress.where(:email => "r@example.com").first
或
b = EmailAddress.where(:email => "r@example.com")[0]
问题内容: 我有这个查询: 但是我想做这样的事情: 如何检查电子邮件是否存在?我要使用电子邮件,如果此字段为空,我要使用email2。我该如何完成? 问题答案: 用于选择字段,然后在其后放置该子句:
问题内容: 我正在运行的查询如下,但是出现此错误: #1054-‘IN / ALL / ANY子查询’中的未知列’guaranteed_postcode’ 我的问题是:为什么我不能在同一数据库查询的where子句中使用伪列? 问题答案: 您只能在GROUP BY,ORDER BY或HAVING子句中使用列别名。 标准SQL不允许您在WHERE子句中引用列别名。之所以施加此限制,是因为执行WHERE
本章提供了有关如何使用JDBC应用程序从表中选择记录的示例。 这将在从表中选择记录时使用WHERE子句添加其他条件。 在执行以下示例之前,请确保您具备以下示例 - 要执行以下示例,您可以使用实际用户名和密码替换用户名和密码。 您的MySQL或您正在使用的任何数据库已启动并正在运行。 所需的步骤 (Required Steps) 使用JDBC应用程序创建新数据库需要以下步骤 - Import the
使用Query DSL和hibernate(Spring Data JPA)构建查询,如下所示 这里的逻辑很简单:如果有一个与某个人关联的银行帐户,则按银行ID过滤结果。 实体具有一个,它包含整数值。实体可能具有也可能没有
在oracle数据库上似乎有很多查询语法来获取数据,这里我只想问一下运行良好的查询,但我完全不明白。查询如下: 从上面的查询来看,它的工作很好。但是我不明白为什么会有TO_DATE('01/01/197000:00:00','mm/dd/yyyy hh24:mi:ss和(create_date/(60*60*24)),'mm/dd/yy hh24:mi:ss') 有人能解释一下吗? 提前致谢
我正在尝试使用criteriaBuilder和谓词构建一个SQL where子句,以创建一些SQL语句,如: AND或对列表周围的括号对于将它们与不存在分开很重要。这是因为和有优先权我得到的是 我可以构建所有谓词,没有问题,但我不知道如何让它在AND或PAIRES列表中添加括号 AND或OR对的列表是这样构建成1个谓词列表的 子查询是这样添加的 还有地点 每个AND或AND对周围的括号也一样好