Railsをしていて基礎の基礎であるテーブルの結合でハマった。ネットでも同じようにハマっていてそれを解決した人や、やはりプロフェッショナルな人が初心者向けに解説しているところはすごく見受けられた。すごい人はすごいなと言う素直な感想だ。俺みたいなアホには、その内容が高度すぎてわからなかったり、求めてる情報となんか違っていたんだよ・・・。TIPSをメモ帳にまとめておくのも正直だるくなったので基礎の基礎としてこっちに書いておく。基礎的なところを覚えるにあたって「それなら担当者マスタでしょ!」というなんともまぁ浅知恵な考えで、意気揚々と作り始めた。tiger的なテーブルを作った。こいつのデータを読み出すという実に初歩的なところからスタート。セッションにユーザーIDを入れてやって、それをキーとしてテーブルのデータを表示するという簡単な画面の作成。俺がPHPをまだ始めたばかりのころを思い出して少しうるっと来た。正直なところテーブル単独での読み込みは余裕だった。こんなところでハマるかよ。問題の発生したのは次の段階。Railsを使うなら、データベース関連では便利なメソッドいっぱいなので、SQLを直で書くよりも極力その辺の処理はRailsに任せておきたかった。以下のような感じの構成のテーブルを用意した。「users」テーブル:モデル名は「User」、ファイル名は「user.rb」プライマリキー(主キー)は「user_id」。ユニークキーと外部キー制御を追加。「profiles」テーブル:モデル名は「Profile」、ファイル名は「profile.rb」プライマリキー(主キー)は同じく「user_id」。ユニークキーと外部キー制御も同様。ふざけた内容だが、ちゃんと図画しとかんと自分があとから見ても、あとこの腐れブログを見ている方的にも分からんだろうので・・・ごめんね><まぁテーブルを見てもらってわかるように、users側のuser_idとprofile側のuser_idを内部結合するような構成。(後々、他の局面で外部結合とかも出てくるだろうけど、何を差し置いてもまずは内部結合から。)それを以下のようにしたい。