0

我正在尝试将 Model->find 查询的输出转换为 SQL,以便输入到与 cakePHP 系统正在使用的当前 MySQL 数据库完全分开的数据库中。我的问题是模型中有几个虚拟字段,在对数据执行模型->查找时不可避免地会返回这些字段。显然,如果我要将数据转换为 SQL,我需要从查找中找到并删除这些虚拟字段,SQL 将用作与原始 MySQL 数据库相同的数据库的输入。有没有一种简单的方法可以省略虚拟字段?在高于 1.3 的版本中可以做到这一点的任何方式也将非常有帮助。

非常感谢。

4

1 回答 1

2

您只能在运行时定义虚拟字段。这是我通常做的。

$this->virtualFields['x'] = 'y';
// find query

但您也可以限制查找字段

'fields' => array('所有没有虚拟字段的字段')

这也将跳过您的虚拟字段。不过,通常您不想详细定义所有字段。

您还可以取消设置 find() 调用的所有虚拟字段:

$tmp = $this->virtualFields;
$this->virtualFields = array();
// find query
$this->virtualFields = $tmp;
于 2013-06-13T11:04:38.980 回答