В config.php я ставлю что-то вроде:
$config['dsn']='mysql://user:password@localhost/project';
Полагаю, последний параметр 'project' определяет имя базы данных в mysql. Поэтому я создал базу данных с именем «проект» с именем таблицы «продукт» в MySQL и поместил то же имя в мою модель
class Model_Product extends Model_Table {
public $entity_code='product';
}
Я протестировал в своей локальной среде без каких-либо проблем. Но когда я загружаю свои файлы на сервер, он возвращает ошибку о том, что не может подключиться к таблице «project.Product». (Единственное отличие заключается в том, что первая буква «продукта» была заглавной). Таким образом, кажется, что коды идут с названием модели «Продукт», а не с именем таблицы, определенной в коде модели.
Я не знаю, почему это происходит, но я думаю, что единственное отличие - это версия mysql (5.5 в локальной и 5.1 в серверной части). Есть ли какое-либо решение, кроме обновления на стороне сервера MySQL? В противном случае мне придется вручную изменить название модели на class Model_product extends Model_Table
и выполнить поиск и заменить.
setModel('Product')
до setModel('product')
везде.