lancer_serega
@lancer_serega
PHP Developer

Как заставить propel экранировать название таблицы к которой идет запрос, чтобы имя не совпадало с резервируемым словом?

Привет всем. подскажите пожалуйста решение данной проблемы, может кто с ней сталкивался, Как заставить propel экранировать название таблицы к которой идет запрос, чтобы имя не совпадало с резервируемым словом?

Есть таблица `Option`
Когда пытаюсь написать
$models = OptionQuery::create()->orderByName()->paginate($page, self::PAGE_SIZE_LIMIT);


то выпадает ошибка
Unable to execute COUNT statement [SELECT COUNT(*) FROM Option]
Посмотреть ошибку подробнее
0168d47722894a59a7f10dc637e69f4f.png
  • #0 /vagrant/vendor/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php(1388): Propel\Runtime\ActiveQuery\Criteria->doCount(Object(Propel\Runtime\Connection\DebugPDO))
  • #1 /vagrant/vendor/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php(1367): Propel\Runtime\ActiveQuery\ModelCriteria->doCount(Object(Propel\Runtime\Connection\DebugPDO))
  • #2 /vagrant/vendor/propel/propel/src/Propel/Runtime/Util/PropelModelPager.php(104): Propel\Runtime\ActiveQuery\ModelCriteria->count(NULL)
  • #3 /vagrant/vendor/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php(1440): Propel\Runtime\Util\PropelModelPager->init(NULL)
  • #4 /vagrant/application/modules/default/services/Option.php(28): Propel\Runtime\ActiveQuery\ModelCriteria->paginate(1, 50)
  • #5 /vagrant/application/modules/storage/controllers/OptionController.php(56): Service_Option->search(1)
  • #6 /vagrant/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): Storage_OptionController->indexAction()
  • #7 /vagrant/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('indexAction')
  • #8 /vagrant/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Vento_Controller_Response_Http))
  • #9 /vagrant/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
  • #10 /vagrant/application/modules/BootstrapTrait.php(18): Zend_Application_Bootstrap_Bootstrap->run()
  • #11 /vagrant/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Vento_BootstrapAbstract->run()
  • #12 /vagrant/public/index.php(38): Zend_Application->run()
  • #13 {main}
Проблема только при обращении к данной таблице, при обращении к другим таблицам, все проходит нормально.
Шторм говорит что Option это зарезервированное ключевое слово в MySQL
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
https://stackoverflow.com/a/36107595

Но я таки бы сменил название таблицы, дабы в дальнейшем избежать возможных косяков, если забыть случайно про это.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы