如何通过传递字符串的php数组来进行postgresql查询,使用双引号



我正在将数组传递到"其中";条款但是php返回带有双引号的字符串,postgrsql使用这些字符串来定义列。所以postgresql使用字符串值作为列。

$allowed_A = AppNewA::selectRaw("replace(unaccent(trim(name)), ' ', '') as newname")
->whereRaw('replace(unaccent(trim(name)), ' ', '') IN ("'.implode(",", $allowed_A).'")')->get();

获取:

未定义的列:7错误:列"采购、销售,。。。

如何修复?感谢

您的表达式将值括在双引号中。更改为:

$A = AppNewA::selectRaw("replace(unaccent(trim(name)), ' ', '') as newname")
->whereRaw("replace(unaccent(trim(name)), ' ', '') IN ('".implode("','", $allowed_A)."')")->get();

请。请记住,您的方法倾向于sql注入。

最新更新