Ошибка модели Qcodo/Qcube gen "синтаксическая ошибка, неожиданная ')' in"
Я использую фреймворк под названием Qcube. прежде чем он был известен именем Qcodo. Эта функция называется codegen, где она генерирует модель для всей таблицы базы данных, включая их отношения, если таковые имеются. Проблема в том, что его сгенерированные файлы имеют синтаксические ошибки. Я не могу найти никаких решений после поиска в Google.
вот сообщение об ошибке:
Parse error: syntax error, unexpected ')' in C:\Program Files (x86)\Ampps\www\osnet\includes\model\generated\EmployeeGen.class.php on line 967
и вот строка, на которую указывает ошибка.
$objToReturn = Employee::QuerySingle(
QQ::AndCondition(
QQ::Equal(QQN::Employee()->Id, $intId),
),
$objOptionalClauses
);
PS
Я знаю, что вызвало синтаксическую ошибку, но чтобы прояснить ситуацию, строка кода имеет синтаксическую ошибку, "сгенерирована" функцией codegen фреймворка и не задана мной жестко. и я не могу просто редактировать сгенерированные файлы, потому что на данный момент существует 58 таблиц, и у каждой таблицы есть свой ген-файл, и у каждого ген-файла есть как минимум 10 таких ошибок, и, кроме того, мне нужно повторно генерировать файлы, когда Я рекламирую новую таблицу базы данных.
Надеюсь, есть кто-то, кто может помочь.
2 ответа
Он основан на вашей ОС, если вы используете Windows, тогда ищите GO_BACK()
и везде, где значение GO_BACK(2)
есть ли изменить его на GO_BACK(3)
а также GO_BACK(5)
в GO_BACK(6)
и перезапустите его.
Это известная ошибка при разработке с использованием QCubed в среде WAMP. В кодегене используется функция GO_BACK(), которая опирается на файлы шаблонов с окончаниями строк в Linux. Linux использует (lf), а Windows использует (cr lf). Это означает, что Windows использует один дополнительный символ.
Об этом мне сообщили как об ошибке https://github.com/qcubed/framework/issues/107 и эта проблема исправлена в последней версии QCubed, которую вы можете найти на Github.