Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

検索を行うメソッド

はじめに

検索機能をrailsで実装する際に、必要なメソッドについて解説しています。

1.whereメソッド

モデルが使用できる、ActiveRecordメソッドの1つです。
このメソッドにより、引数に記述した条件に一致するデータを取り出すことが出来ます。

モデル.where('検索対象となるカラムを含む条件式')

2.LIKE句

LIKE句は、曖昧(あいまい)な文字列の検索をするときに使用するもので、whereメソッドと一緒に使います。

cが含まれる名前を取り出す際の記述

where('name LIKE(?)', "%c%")    

%・・・任意の文字列

3.検索を行う際のコード

ここで、実際にコードを記述する場面を考えてみましょう。
例えば、ツイートテーブルのnameカラムに太郎という文字を含むデータを取り出す場合は、どんなコードとなるでしょうか?
もし、時間がある方は、自分で考えてみてください。

実際に記述は以下となります。

Tweet.where('name LIKE(?)', "%太郎%")

以上の記述により、検索を行えるメソッドを作成することが出来ました。
カラムやどんな値を含んだものを取り出したいのかを考えて実際に使用してみてください!

最後に

最後までお読みいただきありがとうございます!
同じ悩みや課題を抱えている方のお役に立てれば幸いです!

3HV0iat7SHOXB3A
日本のテクノロジー領域で貢献するために、TECHCAMPを受講(83期) Webエンジニアを目指し、現在プログラミングを勉強中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away