我正在开发一个应用程序,通过Web界面对用户的问题进行调查。这些问题是独立的,但可以根据之前问题的答案显示或隐藏问题。
考虑以下架构:
问题 - > hasMany - > LogicGroup - > hasMany - > LogicCondition
LogicGroup是一组条件(LogicCondition)。每种情况都可能是这样的:
Question 1 answered 'A'
Question 2 answered 'D'
基于这两个方面的实现,将向用户显示用户正在接近的问题。否则,它将被隐藏。
基本上,这个问题将包含一个或多个“逻辑组”,其中每个逻辑组包含一个或多个“逻辑组合”'。
我正在努力解决的问题
这些LogicGroup和LogicCondition中的每一个都可以是AND / OR /或两者的组合。我不确定如何编写/构建逻辑,允许数据库通过' AND'来定义两个组是否相关。或者'或者'。
这样做的最佳方式是什么?
编辑:这是一个图像,可以直观地展示这种关系。
答案 0 :(得分:0)
关于或与和,当集团同时拥有两个运营商时,您如何优先考虑运营顺序?从上到下?
以下是我将用作“自上而下”操作顺序的数据库模式:
逻辑规则(一行代表你的问题的图像)
logicrulesgroups (一行代表图片中的第1组或第2组)
条件(一行代表一个组的单个问题)
<强>问题强>
Cakephp术语: