@MiroMichail

Почему в Yii модель не видит таблицу в базе?

После переноса на сервер периодически происходит такая ситуация:
The table "{{user}}" for active record class "User" cannot be found in the database.
Причем, это возникает только иногда, то чаще то реже и только на сервере, в локальной версии проблем нет. Таблица в базе есть, ошибки в названии нет.
На проекте используется шаблонизатор Smarty.
  • Вопрос задан
  • 710 просмотров
Пригласить эксперта
Ответы на вопрос 3
miraage
@miraage
Старый прогер
Насколько я помню, bracket-syntax для названий таблиц задействуется только тогда, когда есть tablePrefix.
Если у вас нет префикса таблиц базы данных - уберите скобки.
Ответ написан
fornit1917
@fornit1917
Подобная ошибка падала, когда возникали проблемы с подключением к БД.
Ответ написан
@Mirocow
установите кеширование схемы при подключении к бд
типо такого

```php
'components' => [
// ...
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=my_table',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'tablePrefix' => 'tbl_',
// turn on schema caching to improve performance
'schemaCache' => 'db_cache', // Какой движок будет кешировать
'schemaCacheDuration' => 3600, // Время кеширования
'enableSchemaCache' => true, // Включаем кеширование схемы таблиц бд
],
// ...
],
```
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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