有没有办法让 Propel 在添加/更新行时自动转义作为保留字的列名?
现在我有一个名为“order”的列,当我尝试使用更新时
$row->setOrder(1)->save();
Run Code Online (Sandbox Code Playgroud)
我收到语法错误“PHP 致命错误:未捕获的异常 'PDOException',消息为 'SQLSTATE[42601]:语法错误:7 错误:“订单”处或附近的语法错误\nLINE 1:更新条款 SET order=$1 WHERE 条款。 id=$2\n ^'"
我正在尝试实现 Postgre SQL 全文搜索,但如果使用 to_tsvector 设置的任何列为空,我就会遇到整个文档返回空的问题。
我有一个如下所示的表:
id | title | description |
1 | skis | my skis |
2 | bike | |
Run Code Online (Sandbox Code Playgroud)
我正在创建文档:
SELECT title, description,
setweight(to_tsvector(title), 'A'::"char") ||
setweight(to_tsvector(description), 'C'::"char")
AS document
FROM inventory
Run Code Online (Sandbox Code Playgroud)
我希望看到的结果是:
title | description | document |
skis | my skis |'ski':1A,3C |
bike | | 'bike':1A |
Run Code Online (Sandbox Code Playgroud)
但我实际得到的是:
title | description | document |
skis | my skis |'ski':1A,3C |
bike | | |
Run Code Online (Sandbox Code Playgroud)
这似乎是一个错误。在描述中添加任何单个字母或数字或任何内容可以使文档正确出现,但单列中的空值会导致整个文档为空。为什么需要描述才能搜索标题和描述?我误解了什么吗?