Cake PHP:从Sql Server到Mysql的转换

Cake PHP:从Sql Server到Mysql的转换,php,mysql,sql-server,cakephp,Php,Mysql,Sql Server,Cakephp,我正在一个Cake PHP1.2站点上测试我们站点的数据库从Sql Server到MySQL的转换,我在Cake如何存储我的模型信息时遇到了一个错误。在创建我的“emp”(员工,而不是我的命名方案)模型时,我现在遇到以下错误: Notice (8): Undefined index: id [CORE\app\models\emp.php, line 83] 下面是生成SQL的代码,它应该填充模型的数据 function findInfo($ecode = false) {

我正在一个Cake PHP1.2站点上测试我们站点的数据库从Sql Server到MySQL的转换,我在Cake如何存储我的模型信息时遇到了一个错误。在创建我的“emp”(员工,而不是我的命名方案)模型时,我现在遇到以下错误:

Notice (8): Undefined index:  id [CORE\app\models\emp.php, line 83]
下面是生成SQL的代码,它应该填充模型的数据

    function findInfo($ecode = false) {
    /*The SQL statement*/
    $sql = "Select id as 'Emp__id', code as 'Emp__code',
                        first_name as 'Emp__first_name', last_name as 'Emp__last_name',
                        created as 'Emp__created', modified as 'Emp__modified',
                        password as 'Emp__password', active as 'Emp__active',
                        hidden_flag as 'Emp__hidden_flag'
                        from rs_emp as Emp
                        where code Like '$ecode' limit 1";
    $employee = $this->query($sql);
    $employee = $employee[0];
    /*the below lines return the undefined index error
    $employee['Permission'] = $this->findPermissions($employee['Emp']['id']);
    $employee['Plant'] = $this->findPlants($employee['Emp']['id']);
    return $employee;
}
这个错误意味着它找不到$employee['Emp']['id'],我假设
Select id as'Emp\uu id'
语句解决了这个问题,因为旧代码起作用了。这是可以纠正的吗


我想,如果删除自定义查询,而使用Cake的查询系统,这不会是一个问题,对吗?我自己没有开始替换它们的唯一原因是我不确定如何构建系统,我也没有构建系统,如果上面的sql语句有一个超级快速修复程序,我会这么做,我目前正在测试将我们迁移到MySQL有多容易,但从长远来看,我确实计划转向Cake的查询模型。

我犯了一个错误,假设
选择id为'Emp\uu id'
方法是正确的;事实并非如此。当语句解决了这个问题时,只要删除
,数组就会读取正确命名的索引。我只是不知道为什么会包含as语句。

查询返回什么?你能打印($employee)
吗;您正在选择字段
id
并将其命名为
Emp\uu id
,因此数组中自然没有
id
键。我是否遗漏了一些东西,或者不应该是另一种情况(
选择Emp\uuu id作为id)
?谢谢你建议Webbiedave,我忘了我可以用数组来做到这一点;它没有按预期存储值;我不知道为什么它会把它们作为Emp_id来拉,但是as语句完全没有必要……至少现在我使用的是mysql。不过,我不知道为什么以前会有。