我在使用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)这样的自定义设置器?
提前谢谢你
发布于 2009-07-29 23:56:37
对于全文列的insert/update,为什么不使用触发器?然后,在更改一行文本时,将自动更新全文列。
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全文列的名称、语言配置,然后是要索引的所有列的名称。
https://stackoverflow.com/questions/1068740
复制相似问题