rails:1403
From: insight@e...
Date: Tue, 25 Jul 2006 14:57:23 +0900
Subject: [rails:1403] 同一テーブルを参照する2つの外部キーの設定
こんにちは。ものすごく基本的な事なのかもしれませんが、教えて下さ い。 とあるいくつかの支店を持つ店があり、店内販売の顧客と、通信販売の 顧客を抱えているとして、それらを表現するために2つのテーブルを扱 っています。 1つは顧客を表すテーブルで、それぞれid、name属性をもってます。こ れは、店内販売の顧客、通信販売の顧客も同じ顧客としてまとめていま す。本来は店内顧客テーブル、通信販売顧客テーブルと分けてしまうの が一番簡単なのですが・・・それが難しく。 もう1つはお店そのものを表すテーブルで、店内販売用の顧客ID、通信 販売用の顧客IDを同一の「顧客テーブル」への外部キーとして持ってい ます。 「根本的にテーブルの設計が間違ってる!」ていうのはさておいて(ご めんなさい)これをrailsに教えるには、どのようにmodelに表記すれば いいのでしょうか? 使用する際は、ある一つの支店IDが定まったら、店内顧客リスト一覧、 通信販売顧客一覧と2つ表示したいのです。 今のところは、find_by_sqlを使って直接sqlを書いているのですが、一 つのテーブルを参照するキーが一つの時のように、もう少しスマートに (店舗.find(1).顧客sみたいな感じで)書く方法はないでしょうか? :belongs_to :kokyaku, :foreign_key=>:tenpo_kokyaku_id :belongs_to :kokyaku, :foreign_key=>:tuushin_kokyaku_id も違うしですね。 どうかよろしくお願いします。 -- ML: rails@r... 使い方: http://QuickML.com/