문제

다음 계획이 있습니다. 내 사이트는 퀴즈 게임이므로 모든 질문은 "Hasmany"답변이지만 답변 모델로 표시되는 "Hasone"정답도 질문합니다. 아직 테스트하지는 않았지만 프로그래머의 본능은 검색된 배열이 일종의 중복이 될 것이며 나머지 부분과 정답을 분리하지 않을 것이라고 말합니다.

내 질문은 모델과 데이터베이스에서 어떻게 이것을 표현 하는가이 관계를 표현하는 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

또는이 페이지를보십시오. 매우 유용합니다.) http://www.charlesgarwood.com/blog/?p=23

다른 팁

글쎄, 나는 그것을 할 두 가지 방법을 생각 해낼 수 있습니다.

  1. 질문 hasmany 답변, 질문은 정답에 속하지만 (질문의 정답에 대한 답변이 있으므로 Question(id, answer_id) 그리고 Answer(id, question_id))

  2. 그것이 올바른지 여부를 반영하는 답변에 깃발을 가지고 있습니다.

나는 어느 것이 선택 해야할지가 더 개인적인 의견이라고 생각하지만, 아마도 1이 관계 적 사고에서 더 정확하더라도 2 번으로 갈 것입니다. 그러나 중복성이 줄어들고 여전히 답변 내에서 검색 할 수 있습니다.

물론 질문에 둘 이상의 정답이있을 수 있다면 옵션 번호 1은 질문이 없습니다.

또 다른 경로는 동일한 테이블에 매핑 된 2 개의 모델을 만드는 것입니다. 정답이 정답인지 아닌지를 나타내는 깃발을 가지고 있습니다.

어떤 대답이 올바른지 전환하지 않으므로 생성 시간에 정확성을 플래그에 매핑하는 것은 괜찮으며 여러 정답을 얻을 수 있습니다. 가중 시스템을 사용하면 답의 정확성을 소중히 할 수 있습니다.

두 개의 개별 모델을 사용하면 REALCENSWER 모델이 답변으로 만 답변을 찾도록 관계 또는 모델 자체의 조건을 설정하십시오 .Correct = True Field Set. 그런 다음 그러한 조건이없는 일반적인 답변 모델을 가질 수 있습니다. 질문 모델에서 완료 당신은 순전히 연결 플래그를 사용하여 두 유형을 모두 가져올 수도 있습니다.

CakeQs.org에서 문의 해보십시오. CakePhP 관련 포털입니다. 그러나 확실히 당신은 두 협회 모두에 대해 다른 별칭을 가져야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top