我正在将数组传递到"其中";条款但是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注入。