modelにおけるwhereとfindの違い分からない 〜Rails4〜
さっきまで詰まっていたが、とりあえず動いたのでメモしておきます。
modelで id の配列があります。
これを以下の find と where の2通りで書いた場合の結果が異なり、使えるメソッドも異なりました。
こちらについて、教えてほしいです。。。
# @learning_ids はidの配列です。
@l_unit_names = Lesson.find(@learning_ids).group('unit_item_name')
@l_unit_names = Lesson.where(:id => @learning_ids).group('unit_item_name').count
find でやった場合、【group】メソッドが使えず、where の場合は使えました。
@l_unit_names = Lesson.find_all_by_id(@learning_ids).group('unit_item_name')
上記でもエラーが出てしまい使えず。返ってくる値とgroupがどういう時に使えるかってところが分かっていないようでした。
この辺りは再度復習も兼ねてどこかで勉強したいと思いますが、まとまったサイトなどあれば教えてもらいたいです。。。