首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用特定于SQL的内容推进自定义设置程序

问使用特定于SQL的内容推进自定义设置程序
EN

Stack Overflow用户
提问于 2009-07-01 11:55:49
回答 1查看 898关注 0票数 0

我在使用PostgreSQL db的Symfony 1.0项目中使用Propel 1.2。我可以在SELECT语句中使用条件::定制语句,以便使用Postgres函数,如下所示(全文搜索):

`$c =新标准();

$c->add(MyTablePeer::FULLTEXT_COLUMN,MyTablePeer::FULLTEXT_COLUMN. @@ to_tsquery('english','text to search')",条件::定制)

选择记录是可以的,但是INSERTing呢?目前,我正在使用原始SQL查询,但我希望以更优雅的方式进行查询。我在Symfony网站上看到了这个片段,但是它有很多代码,不符合我的需要。性能非常重要,因此可能没有比编写原始SQL更好的解决方案了。

如何编写像$object->setFulltextColumn($parameters)这样的自定义设置器?

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-29 23:56:37

对于全文列的insert/update,为什么不使用触发器?然后,在更改一行文本时,将自动更新全文列。

代码语言:javascript
复制
CREATE TRIGGER my_table_fulltext_trigger 
BEFORE INSERT OR UPDATE ON my_table 
FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(
  'fulltext',
  'pg_catalog.english', 
  'column_with_text_1', 
  'column_with_text_2', 
  'column_with_text_N'
);

tsvector_update_trigger过程的参数是: The全文列的名称、语言配置,然后是要索引的所有列的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1068740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档