Rails5を使っています。
テーブルが二つありJOINをしているのですがうまくいきませんでした。
(既存システムとの関係上、int型のidで関連付けでなくstring型のmovie_codeで関連付けをしたいです)
期待する出力結果を取得する方法を教えていただければありがたいです。
####期待する結果
id : int | movie_code : string | code : string | charactar_name : string | category_code : string | movie_name : string |
---|---|---|---|---|---|
1 | 11 | 1101 | ルパン | 01 | ルパン3世 |
2 | 11 | 1102 | 銭形 | 01 | ルパン3世 |
3 | 12 | 1201 | コナン | 01 | 名探偵コナン |
4 | 12 | 1201 | キッド | 01 | 名探偵コナン |
####DB
Movie
id : int | category_code : string | movie_code : string | movie_name : string |
---|---|---|---|
1 | 01 | 11 | ルパン3世 |
2 | 01 | 12 | 名探偵コナン |
Character
id : int | movie_code : string | code : string | charactar_name : string |
---|---|---|---|
1 | 11 | 1101 | ルパン |
2 | 11 | 1102 | 銭形 |
3 | 12 | 1201 | コナン |
4 | 12 | 1201 | キッド |
####現状の実装方法
# Characterモデル class Character < ApplicationRecord belongs_to :movies, foreign_key: "movie_code" end # Movieモデル class Movie < ApplicationRecord has_many :characters, foreign_key: "movie_code" end # Characterコントローラー @characters = Character.joins("INNER JOIN movies ON characters.movie_code = movies.movie_code")
####現状の結果
連結されずCharacterテーブルそのままになってしまいます。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/08 03:38