我正在将数据库从 MySQL 迁移到 PostgreSQL,并且正在使用 CakePHP 访问数据。正常的模型方法(查找、删除、创建等)似乎按预期工作,但是当我使用查询方法运行自定义查询时,它似乎并没有按照我的预期填充结果数组。
例如,当使用 CakePHP 以 MySQL 作为数据库运行时,此代码:
$results = $this->Table1->query('SELECT Table1.*, Table2.* FROM Table1 LEFT JOIN Table2 USING (Field)');
产生以下数组
array(
array('Table1' => array(<Table1Result1>), 'Table2' => array(<Table2Result1>))
array('Table1' => array(<Table1Result2>), 'Table2' => array(<Table2Result2>))
...
array('Table1' => array(<Table1ResultN>), 'Table2' => array(<Table2ResultN>))
)
当我使用 PostgreSQL 作为数据库运行类似的查询时,我得到以下数组:
array(
array(0 => array(<Table1and2Result1Combined>))
array(0 => array(<Table1and2Result2Combined>))
...
array(0 => array(<Table1and2ResultNCombined>))
)
有没有办法让 PostgreSQL 结果以与 MySQL 相同的方式返回?