سؤال

لدي المخطط التالي:موقعي عبارة عن لعبة معلومات عامة، لذا فإن كل سؤال "يحتوي على العديد" من الإجابات، ولكن السؤال أيضًا "يحتوي على إجابة واحدة" صحيحة والتي يمثلها أيضًا نموذج الإجابة.لم أختبر هذا بعد، لكن حدس المبرمج الخاص بي يخبرني أن المصفوفة المستردة ستكون زائدة عن الحاجة نوعًا ما ولن تفصل الإجابة الصحيحة عن بقية المصفوفات.

سؤالي هو، كيف يمكنني تمثيل ذلك في النماذج وفي قاعدة البيانات، هل هناك طريقة أفضل لتمثيل هذه العلاقة؟

هل كانت مفيدة؟

المحلول

وأو مجرد إلقاء نظرة على هذه الصفحة، مفيدة جدا، و) HTTP: //www.charlesgarwood كوم / بلوق /؟ ع = 23

نصائح أخرى

حسنًا، يمكنني التوصل إلى طريقتين للقيام بذلك.

  1. السؤال له إجابة كثيرة، بينما السؤال ينتمي إلى إجابة صحيحة (احصل على معرف الإجابة للإجابة الصحيحة في السؤال، بحيث يبدو الأمر كذلك Question(id, answer_id) و Answer(id, question_id))

  2. ضع علامة على الإجابة التي توضح ما إذا كانت الإجابة الصحيحة أم لا.

أعتقد أن أي واحد يجب اختياره هو رأي شخصي أكثر، ولكن من المحتمل أن أختار الرقم 2، حتى لو كان 1 أكثر صحة من التفكير العلائقي، ولكنه يقلل من التكرار ولا يزال بإمكانك البحث عنه ضمن الإجابات.

بالطبع، إذا كان السؤال يمكن أن يحتوي على أكثر من إجابة صحيحة، فإن الخيار رقم 1 غير وارد.

هناك طريق آخر يتمثل في إنشاء نموذجين تم تعيينهما لنفس الجدول.ضع علامة في الإجابة تشير إلى أنها الإجابة الصحيحة أم لا.

نظرًا لأنك لن تقوم بتبديل الإجابة الصحيحة، فإن تعيين الصحة إلى علامة في وقت الإنشاء أمر جيد، وسيتيح لك الحصول على إجابات صحيحة متعددة.باستخدام نظام الترجيح، يمكنك أيضًا تقييم صحة الإجابة.

مع وجود نموذجين منفصلين، تأكد من تعيين الشروط على العلاقات أو في النموذج نفسه بحيث لا يجد نموذج CorrectAnswer الإجابات إلا مع مجموعة الحقول Answer.correct = true.يمكنك بعد ذلك الحصول على نموذج إجابة عام لا يحتوي على مثل هذا الشرط.عند الانتهاء من نموذج السؤال، يمكنك استخدام علامات الارتباط فقط لجلب كلا النوعين.

وحاول تسأل في cakeqs.org هو المدخل للكيك ذات الصلة. لكن definetely يجب أن يكون مجرد أسماء مستعارة diferent لكل من جمعية

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top