Relation 文件下的方法
方法
解释
build & new
新建 record 对象
create
新建并保存 record 对象
create!
新建并保存 record 对象,如果有异常则报错
delete
基于 SQL 删除指定 id 的 record 对象
delete_all
基于 SQL 删除 relation 包含的所有 record 对象 可以先把这些 record 对象查询出来,也可以删除的时候传条件进行查询
destroy
删除指定 id 的 record 对象,会运行回调函数
destroy_all
删除 relation 包含的所有 record 对象,会运行回调函数
find_or_create_by
根据所给的属性,查询 record 对象;若查询不到,则创建
find_or_create_by!
根据所给的属性,查询 record 对象;若查询不到,则创建。创建则有可能失败,失败报错
find_or_initialize_by
find_or_create_by!
根据所给的属性,查询 record 对象;若查询不到,则初始化
update
传递参数 ids、attributes,所有指定 id 的 record 对象都会更新 用的是自己的 update 方法
update_all
更新整个 relation 包含的 record 对象(先查询出来),参数为更新内容
和
方法
解释
==
判断集合是否等价于 relation. 这里的集合,并不限于 relation,也可以数组
any?
非空?
empty?
为空?
blank?
为空?
many?
多个? 也就是 relation.count > 1
none?
...
one?
...
explain
1. 模拟在各自数据下的执行效果 2. 解释生成的 sql
reset
如果对所得的 relation 进行了处理,但还没有保存,使用它可重置之前的处理
load
执行查询操作,但返回的是 relation
reload
reset + load
cache_key
...
values
返回规格化的所有查询条件。如果你用的查询条件太多了,可用它来查看
where_values_hash
返回所有 where 查询条件,结果并不准确
to_sql
一般地,使用 to_sql
可以方便的查看生成的 Sql 语句
size
...
除上述方法外,还有:
我们不需要也不推荐使用 to_a
强制转换 Relation 成数组。
最后更新于