Ruby find vs where
find 方法id就是當前 model 的key值People.find(params[:id])
find_by_sql or count_by_sql 這是自帶sql 整個語法的意思
People.find_by_sql("select * from peoples")
pluck 撈出指定欄位的資料
People.pluck(:name, :id) => [["Bellaeee", 2], ["Tiger", 3]]
find_by_[columnnames]
類似這樣語法可以搜尋出你要的相關欄位資訊中間是用 AND SQL去做連接
People.find_by_name_and_id("Tiger",3)
where 方法只要是 where出來的項目都是一個集合(應該可以這樣說…)
People.where(name: 'Tiger', id: 3 ) => #<ActiveRecord::Relation
where 大部分都是多資料結構方向 => List
find 大部份用於單體資料結構 => Single
如果要將 where出來的東西變成Event可以使用first 下面兩個案例是一模一樣的結果People.where(name: 'Tiger', id: 3 ).first => #<People> People.find(3) => #<People>
其實不管是用where 還是 find都要看當前情況而定
目前 where 比 find_by… 還要好用
而 find(id) 比 where(id: ?)好用
當 find不能用請使用 where