質問

私は次のスキームを持っています:私のサイトは雑学ゲームなので、すべての質問は "hasMany"です;回答ですが、質問も" hasOne"です。 Answerモデルでも表される正解。 私はまだこれをテストしていませんが、私のプログラマーの本能は、検索された配列は一種の冗長であり、正しい答えを他の配列から分離しないことを教えてくれます。

私の質問は、モデルとデータベースでこれをどのように表現すればよいですか、この関係を表現するより良い方法はありますか?

役に立ちましたか?

解決

またはこのページをご覧ください。非常に便利です;) http://www.charlesgarwood .com / blog /?p = 23

他のヒント

それでは、2つの方法を考え出すことができます。

  1. 質問には多くの回答がありますが、質問は正しい回答に属します(質問の正しい回答のanswer_idがあるため、 Question(id、answer_id)および< code> Answer(id、question_id))

  2. 答えが正しいかどうかを示すフラグを回答に付けます。

どちらを選択するかは個人的な意見だと思いますが、リレーショナル思考では1の方が正しい場合でも、おそらく2番に進みますが、冗長性が減り、回答。

もちろん、質問に複数の正解がある場合、オプション番号1は問題外です。

別の方法は、同じテーブルにマップされた2つのモデルを作成することです。回答に正しい回答かどうかを示すフラグを付けます。

どの解答が正しいかを切り替えないので、作成時に正確性をフラグにマッピングするのは問題ありません。複数の正解を得ることができます。重み付けシステムを使用すると、答えの正確さを評価することもできます。

2つの別々のモデルでは、CorrectAnswerモデルがAnswer.correct = trueフィールドが設定された回答のみを見つけるように、関係またはモデル自体に条件を設定してください。これにより、このような条件を持たない一般的な回答モデルを作成できます。質問モデルでは、純粋に関連付けフラグを使用して両方のタイプを取得することもできます。

cakeqs.orgで、cakephp関連のポータルであることを確認してください。 しかし、明確に、両方の関連付けに異なるエイリアスが必要です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top