在Cakephp中运行Postgresql函数

在Cakephp中运行Postgresql函数,php,postgresql,cakephp,Php,Postgresql,Cakephp,好的,我正试图通过一个Cakephp AppShell类运行这个postgresql函数 CREATE OR REPLACE FUNCTION rdcdev.populatetemptables() RETURNS date AS ' DECLARE lastSync date; BEGIN SELECT INTO lastSync lastsyncdate FROM rdcdev.syncsettings; INSERT INTO rdcdev.temp_sourcelists (

好的,我正试图通过一个Cakephp AppShell类运行这个postgresql函数

CREATE OR REPLACE FUNCTION rdcdev.populatetemptables() RETURNS date AS '
DECLARE
    lastSync date;
BEGIN
SELECT INTO lastSync lastsyncdate FROM rdcdev.syncsettings;

INSERT INTO rdcdev.temp_sourcelists (
    SELECT *
    FROM rdcdev.sourcelists
    );
INSERT INTO rdcdev.temp_beamdatas (
    SELECT *
    FROM rdcdev.beamdatas
    WHERE temp_beamdatas.datetime > lastsync
    );
INSERT INTO rdcdev.temp_beams (
    SELECT *
    FROM rdcdev.beams
    WHERE temp_beams.datetime > lastsync
    );  
INSERT INTO rdcdev.temp_logdatas (
    SELECT *
    FROM rdcdev.logdatas
    WHERE temp_logdatas.datetime > lastsync
    );
INSERT INTO rdcdev.temp_paramdatas (
    SELECT *
    FROM rdcdev.paramdatas
    WHERE temp_paramdatas.datetime > lastsync
    );

RETURN lastSync;
END;
' LANGUAGE 'plpgsql';
正如您所看到的,我希望能够从函数调用很多东西,而不是在cakephp调用中单独调用这些东西。我已经通过命令行调用验证了该函数是否按预期工作,但它似乎不喜欢通过cakephp中的查询调用来调用它:

class SyncShell extends AppShell 
{
    ...blah blah blah
    $SQLcommand = "SELECT rdcdev.populatetemptables();";
    $this->Syncsetting->query($SQLcommand); 
}
Syncsetting只是数据库中的数据模型之一。代码似乎在cakephp日志中没有错误就崩溃了,所以我很难弄清楚为什么它不喜欢这样。是因为函数正在使用SyncSettings之外的表。如果是这样的话,我需要在Cakephp的model文件夹中为函数创建一个模型类,或者是否有一些特殊的方法来调用Cakephp中的函数,而我的初级GoogleFoo无法找到这些函数