Jus*_*ier 0 php postgresql codeigniter ref-cursor
我有一个PostgreSQL函数,它选择数据并通过refcursor返回它,类似于以下声明:
CREATE OR REPLACE FUNCTION my_function()
RETURNS refcursor AS
...
Run Code Online (Sandbox Code Playgroud)
如何通过CodeIgniter模型从此功能检索数据?我不能直接从函数中选择SELECT,因为它不直接返回数据.
如果有人有兴趣,php.net上的帖子给出了以下解决方案:
protected function dbquery($query){
pg_query("BEGIN;");
$tr=pg_query($query);
$r=pg_fetch_row($tr);
$name=$r[0];
$rs=pg_query("FETCH ALL IN \"" . $name . "\";");
pg_query("END;");
return $rs;
}
Run Code Online (Sandbox Code Playgroud)
哪个可以在模型中连接如下:
$query = $this->dbquery("SELECT * FROM my_function()");
while ($row = pg_fetch_assoc($query))
{
array_push($result, array('my_column' => $row['my_column'] ));
}
Run Code Online (Sandbox Code Playgroud)
不是理想的解决方案,因为它不使用CI Postgres驱动程序的功能(虽然它可能可以重构),但它的工作原理.
| 归档时间: |
|
| 查看次数: |
6199 次 |
| 最近记录: |