如果你僅僅想檢查一條記錄是否存在,可以使用 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 的存在性。
model
post.any?
post.many?
已定義的作用域
post.recent.any?
post.recent.many?
relation
post.where(:published => true).any?
post.where(:published => true).many?
association
post.first.categories.any?
post.first.categories.many?
關於檢查物件陣列的值與屬性判斷
今天這題相對來說比較難,通過搜尋才明白如何通關。記錄,防止自己忘記。執行的 如下 初始化變數 var contacts function lookup firstname,prop else return no such contact contacts i firstname firstname不...
檢查物件是否為NULL或者為Empty
不管是在winform開發,還是在asp.net 開發中當從乙個資料來源中獲取資料時你總是不知道這個資料的狀態,這個時候總要對她進行一次判斷,不過每次進行一次判斷總是要寫怎麼一堆 時間長了,總感覺不太好,於是就有了下面 的封裝,這是乙個擴充套件的泛型方法,寫在了system.命名空間下面,省去了重複...
快速檢查一組CODE的存在性
方法1 使用臨時表 將所有待檢查的code存到臨時表中,然後通過sql選擇出所有不存在的code。優點 沒體會 缺點 往臨時表中插資料也會消耗掉很多效能,不能將不合法的資料登入到臨時表,以防發生異常。加重資料庫伺服器的負荷。方法2 不使用臨時表 1.迴圈待檢查的code,快取到hashtable k...