2016-08-14 5 views
-2

私は、雇用者が労働者からの申し出を受け入れるか、拒否することができるPHPでアプリケーションを作っています。拒否ボタンをクリックすると、却下したいオファーのIDで関数が呼び出されます。今私の問題は、私はそれらの決定を管理する方法を知らない;私は雇用者の電子メールに不合理なオファーidを割り当てるテーブルを作っていると思っていたかもしれませんが、それはテーブルを扱うのが順調でない、困難なものになるでしょう。MySQLで「ブラックリスト」を作成するには?

雇用者列には新しいフィールドを、フィールドには拒否されたすべてのオファーを格納する配列、受け入れられたフィールドには別のフィールドを作成することも考えました。あなたは何が良い選択肢だろうと思いますか? (これは私が名前を付けたものである必要はありません)

+0

https://en.wikipedia.org/wiki/Database_normalization –

+0

正規化されたスキーマが必要です。オファーIDの配列はその原則に違反します。正規化されたスキーマを設計し、それがどのように実行されるかを確認する。 – duffymo

+0

あなたのスキーマをそのまま見ることができますか?質問に編集してください。 – halfer

答えて

0

従業員は多くのオファーを受け取り、多くの従業員にオファーを送ることができます。それは多対多関係です。結合テーブルが必要です。これには、EmployeeとOfferの主キーの複合である主キーがあります。それぞれはそれが出てきたテーブルとの外部キー関係です。

この結合表の各行には、作成タイムスタンプ、受け入れられたか拒否されたかを示すフラグ、受け入れタイムスタンプが関連付けられている可能性があります。

これはリレーショナルデータベースの基本です。アプリケーションを理解せずに設計することはできません。

0

私はemployerIdでofferTableの列を追加し、許容された列に対しては短い整数として列を追加します。

関連する問題