gpt4 book ai didi

php - FluentPDO 似乎无法找到执行 OR 子句的方法

转载 作者:行者123 更新时间:2023-11-28 23:52:25 26 4
gpt4 key购买 nike

所以我一直在用FluentPDO相当多,但我似乎无法找到一种方法来执行 OR 子句,自动添加 AND 的地方,我看不出解决它的方法。

这就是我需要创建的 SQL 语句类型。

SELECT *
FROM `items`
WHERE `item_var` LIKE '%test%'
OR `item_text` LIKE '%test%'
OR `item_int` LIKE '%test%'
OR `item_select` LIKE '%test%'
ORDER BY row_id

最佳答案

我不熟悉该库,但在查看源代码后,如果不将您的 OR 代码放入 where()<,这似乎不太容易实现 手动调用。

根据where method's docblock , 它会在每个连续的子句前加上一个 AND

这不是世界上最具表现力的代码,但看来您必须手动输入 OR:

->where('(item_text LIKE "%test%" OR item_int LIKE "%test%" OR item_select LIKE "%test%")')

只要您只使用 OR,您就可以通过将它们放入一个数组并 implode() 来稍微清理一下。也许这样的事情会奏效:

$conditions = [
'item_text LIKE "%test%"',
'item_int LIKE "%test%"',
'item_select LIKE "%test%"',
];

$orWhere = implode(" OR ", $conditions);
$query = $fpdo->from('items')->where("($orWhere)");

(编辑:语法)

关于php - FluentPDO 似乎无法找到执行 OR 子句的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422886/

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