0

我有一些以以下形式运行的 postgresql 函数:

SELECT * FROM pgfunction(1,2,3);

这使我能够过滤/排序/分组结果:

SELECT * FROM pgfunction(1,2,3) WHERE value > 10;

如何使用准备好的语句将参数传递给 laravel 中的 postgresql 函数,以便过滤 laravel 中的结果。例子:

DB::table('pgfunction',array(1,2,3))->where('value','>','10');

这可能吗?

4

1 回答 1

1

DB::raw将创建一个原始 SQL 字符串,但不将其用作查询。您可能需要使用 aDB::select()来运行“原始 sql”查询。

$fnc = sprintf("pgfunction(%s)", implode(',', array(1,2,3));

DB::select()->from(DB::raw($fnc))->where('value', '>', 10);

注意:这在我这边未经测试。希望能帮助到你。有关使用原始表达式的更多信息,请参阅有关使用原始表达式的文档。

于 2013-09-12T15:47:30.710 回答