我需要制作推荐问卷,回答一堆问题会产生一些独特的结果;沿途的决定应该影响最终结果。
将它设为非常基本没问题 - 所以我有两个模型 - Questions
和Answers
。每个问题都有两个答案,每个答案都会引出另一个问题 - 所以绘制出来的hieararchy最终会像二叉树一样:
Question 1
/ \
Answer 1 Answer 2
/ \
Question 2 Question 3
/ \ / \
Ans3 Ans4 Ans5 Ans6
...
所以用简单的英语我会说每个问题has many
都会回答,每个回答has one
父母问题和has one
孩子的问题。
对于典型的has many
关系,凭借我的经验,我可能只是将外键放在many
端,而不用担心one
结束;所以Answer
question_id
会得到has_one
并不是唯一的。
对于question_id
关系,任何一段关系似乎都没问题 - 但我已经有了answer_id
的答案;所以也许把'#34;父母"回答Question.answer
关于这个问题是合适的,但这似乎有点混淆词汇 - 看起来像question_ids
我不会直观地理解它导致这个问题的反应。 ..
或者,我可以在Answer
模型中启用两个 this.authProvider.loginUser(email, password).then(
authData => {
this.loading.dismiss().then(() => {
this.navCtrl.push(TabsPage);
//this.navCtrl.setRoot(TabsPage);
});
- 但是然后必须区分哪个是"父问题"哪一个是"后续问题" ...
另一个考虑因素是当我拿到"下一个问题"从数据库(根据答案),我也想得到可能的答案显示。虽然不是要求优化性能,但是做到这一点并不是很好。 (或者至少没有完全错误)。
最好的方法是什么?
答案 0 :(得分:0)
在朋友们的帮助下,找到了我想要保存的正确用语 - 它是一个决策树!
https://en.wikipedia.org/wiki/Decision_tree
然后对这个类似问题的回答https://stackoverflow.com/a/5278239/1592915建议在问题之间采用基本上是人与人之间关系的方法,其中答案表是中间人。