Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Heroku上使用带CakePHP的hstore会导致异常_Php_Cakephp_Heroku_Hstore - Fatal编程技术网

在Heroku上使用带CakePHP的hstore会导致异常

在Heroku上使用带CakePHP的hstore会导致异常,php,cakephp,heroku,hstore,Php,Cakephp,Heroku,Hstore,我试图在启用hstore引擎的情况下将数据存储在Heroku Postgres DB上。在Heroku的网站上,一切正常。困扰我的是后端的PHP。我使用 这是我在控制器中基本上使用的: $this->loadModel('Channel'); $pgHStore = new PgHStore(); $data = $pgHStore->toPg(array('channel_id' => 1, 'title' => 'Test')); $this->Channel-

我试图在启用hstore引擎的情况下将数据存储在Heroku Postgres DB上。在Heroku的网站上,一切正常。困扰我的是后端的PHP。我使用

这是我在控制器中基本上使用的:

$this->loadModel('Channel');
$pgHStore = new PgHStore();
$data = $pgHStore->toPg(array('channel_id' => 1, 'title' => 'Test'));
$this->Channel->save(array('name' => 'test', 'attributes' => $data));
它只是抛出一个异常:

[PDOException] SQLSTATE[XX000]: Internal error: 7 ERROR:  Syntax error near '$' at position
LINE 1: ..."channel" ("name", "attributes") VALUES ('test', '($hst$"ch...
                                                            ^

以前有人用PHP和PDO实现过这一点吗?我敢肯定!但是怎么做呢?我哪里弄错了?

PgHStore不是一个以字符串形式插入数据的序列化程序。它旨在以HStore列类型直接管理Postgres的输入/输出。但不确定CakePHP是否支持这一点。为什么不直接使用Pomm?@greg我不直接使用它,因为我不想为了使用特定的数据类型而重新发明轮子。据我所知,PgHStore函数除了将数据(数组、字符串等)转换为适当的hstore格式之外,没有任何其他用途,因此它们应该是足够的IMHO。问题是为什么PDO会出错,实际上这不是PDO的问题,因为Pomm也使用PDO。这里的问题是蛋糕。它将您提供的数据视为字符串,并尝试按原样保存。您能发布您的表结构并转储发出的完整SQL查询吗?