0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rails joinの使い方

Last updated at Posted at 2020-10-20

#複数個のテーブルを結合する

①モデル(単数).joins(:②モデル(複数))

①はUser
Schedule

##前提条件

  • Userは、idを持っている
  • Scheduleは、user_idを持っている

#joinは、共通項で結合する
Scheduleのテーブルのuser_idとUserのidがマッチしているレコードのみを取得しています。
結合条件にマッチしないレコードは削除されて1つのテーブルを構成します。

#カラムの取得仕方

userのカラムだけ取得
User.joins(:schedules)
両方のカラムを取得
User.joins(:schedules).select("users.*, schedules.*")

##補足
###whereなどのメソッドを使う際

where(モデル名(複数形):{カラム:})

Userのモデルか?
あるいは、scheduleのモデルかを指定する必要がある

##注意
selectで取得した値はすべて文字列に変更される。
僕の場合は、datetimeが文字列に変更したために、timeメソッドを使えなくなり、time.parseを使用し文字列型からdate型に変更した。

##さいごに
初めての投稿です。分かりづらいところばかりですみませんでした。
少しでも誰かのお役に立てればと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?