Cake PHP: преобразование из сервера SQL в Mysql - PullRequest
1 голос
/ 16 августа 2011

Я тестирую преобразование базы данных нашего сайта с Sql Server на MySQL на сайте Cake PHP 1.2, и я столкнулся с ошибкой в ​​том, как торт теперь хранит информацию о моей модели.При создании моей модели 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__id' позаботились об этом, так как старый код работал.Это то, что можно исправить?

Полагаю, это НЕ было бы проблемой, если бы пользовательские запросы были удалены и вместо этого использовалась система запросов Cake, правильно?Единственная причина, по которой я не начал заменять их сам, это то, что я не уверен, как и я не собирал систему, если есть супер-быстрое исправление вышеупомянутого выражения SQL, я сделаю это, в настоящее время я тестируюПосмотрите, как легко было бы перевести нас на MySQL, но в долгосрочной перспективе я планирую перейти к модели запросов Cake.

1 Ответ

0 голосов
/ 16 августа 2011

Я допустил ошибку, предположив, что метод Select id as 'Emp__id' был правильным;это не былоПростое удаление операторов as решило эту проблему, теперь массив читает правильно названные индексы.Я просто не знаю, почему заявления as когда-либо были включены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...