我正试图在SQL::Abstract
内找到一种方法special operators
的DBIx::Class
。
我的目标是能够使用sqlite的MATCH运算符进行全文搜索,以便我可以做到
$d->search({ textcontent => { -match => "sqlite" }})
生成如下查询:
SELECT * FROM mail WHERE textcontent MATCH 'sqlite';
我想我可以用SQL::Abstract
弄清楚如何做到这一点,但我找不到如何摆弄DBIx::Class
内的sql生成器。我想这会在DBIx::Class::SQLMaker
里面,虽然我不知道如何为子类化整个事件来访问该保存。
答案 0 :(得分:1)
这似乎没有记录,但您可以放在DBIC connect_info
上的"extra attributes"之一(即connect
的参数)是sql_maker_options
。所以你可以通过调用例如
$schema->connect($dsn, $username, $password, undef,
{
sql_maker_options => {
special_ops => {
...
}
}
}
);
SQLMaker是SQL::Abstract
的子类,除非另有说明(并且它没有),否则应接受相同的选项。