gpt4 book ai didi

mysql - Laravel whereRaw 绑定(bind)在操作符上

转载 作者:行者123 更新时间:2023-11-29 16:12:16 27 4
gpt4 key购买 nike

所以我有一个查询,根据用户输入的内容,列、运算符和比较可能会有所不同。例如,如果用户选择过滤包含字符串一部分的名称列。

当我尝试绑定(bind)运算符(operator)时出现问题。这是查询

$accounts->whereRaw("CASE WHEN 'adam' ? '%adam%' THEN name = 'adam' 
WHEN 'adam' ? '%adam%' THEN name <> 'adam' ELSE name = 'bob' END", [
'like',
'not like',
]);

我收到的错误是SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '? 附近使用的正确语法。 '%adam%'

如果我硬编码like而不是?,它可以工作,但我不能这样做,因为运算符取决于用户输入

编辑:必须编辑此问题,因为我发现问题与原始问题不同,但相似。

最佳答案

“When”后面必须跟条件,此时需要替换“adam”

CASE WHEN 'adam'

关于mysql - Laravel whereRaw 绑定(bind)在操作符上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55161369/

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