2

私のプロジェクト管理アプリケーションでは、現在、単一テーブルの継承を使用して、次のことを行っています。

リード < 要件

プロジェクト < 要件

つまり、リードは要件であり、プロジェクトは要件です。この2つしか持っていなかったので大丈夫でした。そしたらまた似たようなもの(Tender)があったので作成しました

入札 < 要件

ここでの問題は、入札がプロジェクトに変換されたときに、どのプロジェクトが入札で、どのプロジェクトがリードであったかを識別する方法がないことです。したがって、たとえば次のようには言えません。

100 件のリードから 20 件のプロジェクトを獲得し、100 件の入札から 5 件のプロジェクトを獲得しています。

今のところ回避策として、ブール値フィールドを使用して、これが入札かどうかを判断できると思います。しかし、それは性感染症の目的を無効にします。STI 自体を使用してこれを行う別の方法はありますか。または、これを達成する唯一の方法はブール値[またはある種のカテゴリ/プロジェクトタイプフィールド]です。

これに state_machine を使用できますか?

私はしばらくの間、これを正しくしようと試みてきました。どんな助けでも素晴らしいでしょう。

4

1 に答える 1

0

誰もこの質問に答えていないので、私が持っている/試しているさまざまなアプローチを文書化しています。でも、どんどん挑戦していくうちに性感染症が嫌いになってきました。

  1. ブール値を使用して、要件が入札/リード/プロジェクトであるかどうかを指定します。複数の目盛りを付けることができるという利点が追加されました。要件は、最初に入札、次にリード、そしてプロジェクトになることができます。

  2. ステータス フィールド: HABTM。1 つ以上のステータスを確認できます。これも 1 に似ていますが、ステータスを追加できるという利点が追加されています。

  3. 1つ持っています:しかし、これは乾燥していないようです. 試していません。理論上のオプションとして追加します。プロジェクトにはリードが 1 つある、またはプロジェクトには入札が 1 つある。

  4. State-Machine: 興味深いオプションのようです。状態の変化をどのように追跡できるかわかりません。State-Machine の経験がある人は、ここで私を助けてくれますか?

于 2011-05-30T11:40:43.207 に答える