gpt4 book ai didi

php - 推进 "AND NOT"查询

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:01 26 4
gpt4 key购买 nike

我在我的 PHP 应用程序中使用 propel ORM。

通过阅读文档,我不知道如何发出这种类型的请求:

SELECT x FROM table where col1 = 'xxx' and not(col2=1 AND col3=2);

使用纯推进逻辑执行此请求的最简洁方法是什么?

谢谢

最佳答案

您要查找的完整查询应该是这个:

$books = TableQuery::create()
->condition('cond1', 'col1 = ?', 'xxx')
->condition('cond2', 'col2 != ?', 1)
->condition('cond3', 'col3 != ?', 2)
->combine(array('cond2', 'cond3'), 'or', 'cond23')
->where(array('cond1', 'cond23'), 'and')
->find();

它创建:

  • cond1 条件,其中 col1 = 'xxx'
  • cond2 条件,其中 col2 != 1
  • cond3 条件,其中 col3 != 2

然后它将 cond2cond3or 运算符组合在一个新的 cond23 中,这样

cond23 = cond2 or cond3

并将 cond23cond1and 运算符组合在一起,这样最终的查询将是

where(cond1 and cond23)

关于php - 推进 "AND NOT"查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40227441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com