• 检查对象存在性


    如果你仅仅想检查一条记录是否存在,可以使用 exists? 方法。这个方法会像 find 方法一样查询数据库,但是它返回的是 true 或者 false 。

    Client.exists?(1)

    exists? 方法可以接受多个 id 作为参数,但是注意只要任何一条记录存在它都会返回 true 。

    Client.exists?(1,2,3)  或者  Client.exists?([1,2,3]}

    直接在一个 model 或者 relation 实例上调用不带参数的 exists? 方法也是可以的。

    Client.where(:first_name => ‘Ryan’).exists?

    上面的例子中,如果至少有一个 first_name 为 ‘Ryan’ 的 client 记录存在,那就会返回 true ,否则就返回 false 。

    Client.exists?

    如果 client 表为空,就返回 false ,否则返回 true 。

    你也可以使用 any? 或者 many? 来检查一个 model 或者 relation 的存在性。

    1. model
      Post.any?
      Post.many?
    1. 已定义的作用域
      Post.recent.any?
      Post.recent.many?
    1. relation
      Post.where(:published => true).any?
      Post.where(:published => true).many?
      1. association
        Post.first.categories.any?
        Post.first.categories.many?
  • 相关阅读:
    【数论】 快速幂
    【时间复杂度】你还在担心时间复杂度太高吗?
    【数据结构】 最小生成树(三)——prim算法
    【数据结构】 最小生成树(二)——kruskal算法
    node.js初识11
    node.js初识10
    node.js初识09
    node.js初识08
    node.js初识07
    node.js初识06
  • 原文地址:https://www.cnblogs.com/qinyan20/p/3643256.html
Copyright © 2020-2023  润新知