搜尋大對決 Find, Find_by, Where

閱讀時間約 1 分鐘

Find

輸入一個 id 參數後,尋找相對應的一筆資料。
@article = Article.find(params[:id])
在 SQL 的部分:
SQL
如果 find 找不到相對應的資料時,會跳出兇殘的錯誤訊息:

Find_by

輸入一個或多個參數後,找到相對應的一筆資料。
@article = Article.find(id: params[:id], title: params[:title])
在 SQL 的部分:
如果 find_by 找不到相對應的資料時,會跳出比較溫和的 undefined method 訊息,並回傳 nil:
在 find_by 後面加驚嘆號,find_by! 也會產生跟 find 一樣的錯誤訊息,但仍能帶入多個參數。

Where

輸入一個或多個參數後,找到相對應的多筆資料。
@article = Article.where(params[:id])
這個 where 就是 SQL 語法的 where,所以參數也能使用 SQL 語法。
此外,參數也可以是 String / Array / Hash 當搜尋條件。

find vs find_by

1. 條件數量不同,find 只能有一個,find_by 可以有很多個。
2. 錯誤訊息不同 ( 但是 find 可以加驚嘆號,就等同 find )

find 系列 vs where 系列

1. find 系列只會有一筆資料,where 會找出符合搜尋條件的所有資料
2. where 可以使用 SQL 語法當作搜尋條件
Reference
https://ithelp.ithome.com.tw/articles/10225325
    1會員
    13內容數
    留言0
    查看全部
    發表第一個留言支持創作者!
    Mike的沙龍 的其他內容
    避免使用者在資料寫入時,強行新增非官網的資料時,所進行的預設阻擋功能。 所以必須新增一個「白名單」,才能正常寫入: 寫了這段後,除了 permit 的資料,其他額外的資料都會被過濾掉,不會進來。
    MVC是一套網頁開發的架構流程,代表著從前端到後端的各自分工。 M: Model 多個 model 建立的 tables 們能夠透過 foreign_key 或是 belongs_to / has_one / has_many,將彼此的資料產生關聯。 V: View C: Controller
    直接來看範例吧
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    1. p1 = Product.new(name:"衛生紙") 接著執行 p1.stores = s1 卻出現 undefined method "each"的錯誤訊息。(如下圖一) 解決方法: 強制給實體掛上store_id 接下來處理Product
    在第一次建立rails專案時,通常都會遇到不少問題,像我是使用windows系統,所以也經歷了一些麻煩。如果各位第一次建立rails專案就可以看到下圖綠色字體的成功字樣,那真的如天選之人般幸運阿~ 如果你跟我一樣注定要經歷windows系統的苦痛,就請繼續看下去吧QQ
    避免使用者在資料寫入時,強行新增非官網的資料時,所進行的預設阻擋功能。 所以必須新增一個「白名單」,才能正常寫入: 寫了這段後,除了 permit 的資料,其他額外的資料都會被過濾掉,不會進來。
    MVC是一套網頁開發的架構流程,代表著從前端到後端的各自分工。 M: Model 多個 model 建立的 tables 們能夠透過 foreign_key 或是 belongs_to / has_one / has_many,將彼此的資料產生關聯。 V: View C: Controller
    直接來看範例吧
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    1. p1 = Product.new(name:"衛生紙") 接著執行 p1.stores = s1 卻出現 undefined method "each"的錯誤訊息。(如下圖一) 解決方法: 強制給實體掛上store_id 接下來處理Product
    在第一次建立rails專案時,通常都會遇到不少問題,像我是使用windows系統,所以也經歷了一些麻煩。如果各位第一次建立rails專案就可以看到下圖綠色字體的成功字樣,那真的如天選之人般幸運阿~ 如果你跟我一樣注定要經歷windows系統的苦痛,就請繼續看下去吧QQ
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    給定一個輸入非負整樹陣列nums,請找出k值,使得陣列中恰好有k個元素大於等於 k。如果無解,回傳-1。尋找k值的方法包括排序法和二分搜尋法,時間複雜度都為O(n log n),空間複雜度為O(1)。關鍵知識點是當解空間具有遞增或遞減的性質時,可以用二分搜尋法加快搜尋效率。
    Thumbnail
    搜尋意圖是用戶進行搜索時的目的,分為資訊性、商業、導航和交易意圖。瞭解搜尋意圖對於優化網站和創建有價值的內容非常重要,可以通過關鍵字研究、內容優化和了解目標受眾的需求來實現。
    搜尋引擎優化(SEO)與物聯網(IoT)的前景在當今數位時代中日益重要。隨著網絡的普及和物聯網技術的發展,企業和個人都在尋求有效的方式來提高在線可見性和品牌曝光度。在這個動態的市場環境中,八拓科技有限公司等專業的SEO公司發揮了關鍵作用。 SEO是什麼?SEO是指通過優化網站內容和結構,以使其在搜
    隨著人工智慧技術的不斷發展和應用,搜尋引擎優化(SEO)在網路行銷領域中的地位和作用日益凸顯,展示出了嶄新的前景和發展機遇。讓我們一同探討在人工智慧時代,SEO將如何塑造網路行銷的未來。 首先,人工智慧技術的應用將使SEO更加智能化和精準化。通過機器學習和大數據分析,搜尋引擎可以更好地理解用戶的搜
    Thumbnail
    想要使用AI來快速了解一支股票! 卻受限於在2021年9月就停止更新資料庫的免費版ChatGPT? 本集Gary分析師要介紹ChatGPT和Google的合體! 最強第二大腦Perplexity AI! 一起來看看吧🧙
    Thumbnail
    系統名稱竟然是「Line」(跟我一直想移除但始終移除不了的軟體同名,裡面九成九是電訊垃圾,剩下百分之一的資訊則是通知我:請處理影響世界的垃圾─以搜捕電訊的方式執行)。
    Thumbnail
    下面簡單介紹ㄧ下,我目前怎麼使用DevonAgents,以及如何與Devonthink搭配呢? DevonAgent 主要特色: 可以準確搜尋,類似google的一些搜尋語法。 可以搜尋Devonthink資料庫 可以快速貯存搜尋條件(包含所搜尋的keywords以及目標資料庫) 延伸閱讀:
    Thumbnail
    整路在林間穿梭爬升,此時直升機也在附近來回搜索,茂密的植披我們並無法看到天空,但螺旋槳的聲響可以聽得出來幾乎在我們隊伍上方,無線電傳來空勤直升機呼叫指揮所的訊息,這是我個人第一次在頻道中直接聽到空勤與地面的直接通話;不過呼叫了兩次地面都沒有回應,也沒聽見其他守聽單位的傳遞中繼。
    Thumbnail
    下面幾家是這幾年我們帶孩子去各地遊玩,都會一再回訪的店家
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    給定一個輸入非負整樹陣列nums,請找出k值,使得陣列中恰好有k個元素大於等於 k。如果無解,回傳-1。尋找k值的方法包括排序法和二分搜尋法,時間複雜度都為O(n log n),空間複雜度為O(1)。關鍵知識點是當解空間具有遞增或遞減的性質時,可以用二分搜尋法加快搜尋效率。
    Thumbnail
    搜尋意圖是用戶進行搜索時的目的,分為資訊性、商業、導航和交易意圖。瞭解搜尋意圖對於優化網站和創建有價值的內容非常重要,可以通過關鍵字研究、內容優化和了解目標受眾的需求來實現。
    搜尋引擎優化(SEO)與物聯網(IoT)的前景在當今數位時代中日益重要。隨著網絡的普及和物聯網技術的發展,企業和個人都在尋求有效的方式來提高在線可見性和品牌曝光度。在這個動態的市場環境中,八拓科技有限公司等專業的SEO公司發揮了關鍵作用。 SEO是什麼?SEO是指通過優化網站內容和結構,以使其在搜
    隨著人工智慧技術的不斷發展和應用,搜尋引擎優化(SEO)在網路行銷領域中的地位和作用日益凸顯,展示出了嶄新的前景和發展機遇。讓我們一同探討在人工智慧時代,SEO將如何塑造網路行銷的未來。 首先,人工智慧技術的應用將使SEO更加智能化和精準化。通過機器學習和大數據分析,搜尋引擎可以更好地理解用戶的搜
    Thumbnail
    想要使用AI來快速了解一支股票! 卻受限於在2021年9月就停止更新資料庫的免費版ChatGPT? 本集Gary分析師要介紹ChatGPT和Google的合體! 最強第二大腦Perplexity AI! 一起來看看吧🧙
    Thumbnail
    系統名稱竟然是「Line」(跟我一直想移除但始終移除不了的軟體同名,裡面九成九是電訊垃圾,剩下百分之一的資訊則是通知我:請處理影響世界的垃圾─以搜捕電訊的方式執行)。
    Thumbnail
    下面簡單介紹ㄧ下,我目前怎麼使用DevonAgents,以及如何與Devonthink搭配呢? DevonAgent 主要特色: 可以準確搜尋,類似google的一些搜尋語法。 可以搜尋Devonthink資料庫 可以快速貯存搜尋條件(包含所搜尋的keywords以及目標資料庫) 延伸閱讀:
    Thumbnail
    整路在林間穿梭爬升,此時直升機也在附近來回搜索,茂密的植披我們並無法看到天空,但螺旋槳的聲響可以聽得出來幾乎在我們隊伍上方,無線電傳來空勤直升機呼叫指揮所的訊息,這是我個人第一次在頻道中直接聽到空勤與地面的直接通話;不過呼叫了兩次地面都沒有回應,也沒聽見其他守聽單位的傳遞中繼。
    Thumbnail
    下面幾家是這幾年我們帶孩子去各地遊玩,都會一再回訪的店家