我使用propel进行数据库交互。现在我必须创建一个像
这样的查询SELECT data FROM values WHERE a=1 AND (vis=1 or (vis=0 AND userID=5));
我从“值”表中创建一个推进对象。
$p = new ValuesQuery()::create
->filterByA(1)
->filterByVis(1)
->_or()
->filterByVis(0)
->filterByUserId(5)
->findOne();
Propel生成以下几乎有意义的SQL查询:
SELECT data FROM values WHERE a=1 AND (vis=1 or vis=0) AND userID=5;
我该如何解决这个问题?是否可以说推进它应放在括号中的内容?
感谢所有答案!
答案 0 :(得分:1)
使用下一个工具不仅可以回答您的特定问题,还可以帮助您了解条件的复杂程度。
答案 1 :(得分:1)
正如@halfer所说,请阅读以下文档,了解如何组合几个条件:http://www.propelorm.org/reference/model-criteria.html#combining_several_conditions