Не удалось разрешить действительную таблицу в PhpStorm

117
15

Я не могу unable to resolve table ошибки unable to resolve table появляющиеся в файлах php, содержащих SQL-запросы к действительным таблицам.

enter image description here

Если я Ctrl + Enter по запросу, то я получаю ожидаемые результаты в консоли БД, и если я разворачиваю базу данных на вкладке проводника БД, тогда я вижу таблицы.

Это не влияет на выполнение кода, но это раздражает, потому что это бросается в глаза при написании кода и маскирует реальные ошибки SQL.

Я попытался обновить соединение с базой данных, и я проверил, что вкладка php подключается к правильной базе данных.

спросил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
1
Решение
159

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

ответил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
117

Попробуйте повторно создать соединение с БД с нуля (удалите существующий и создайте его снова).

Думая о возможных причинах... Я могу думать об этом сценарии:

    работа с проектом в текущей стабильной версии (в настоящее время 2016.1.х); пытаясь собрать EAP для следующей версии (2016.2 в данный момент) в этом проекте и внести некоторые изменения, связанные с DB (даже простая синхронизация DB); возвращаясь к стабильной версии (2016.1.x).. и потому что новая версия использует более новый формат файла/версию для данных, связанных с БД (структура кэшированной БД и т.д.). IDE может начать игнорировать формат "неизвестный/новый" для таких данных и вместо того, чтобы метать соответствующее предупреждение, которое он просто "молча" бросает сообщение "неразрешенная таблица".

Других идей нет.

ответил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
63

В моем случае я работал над добавлением имени базы данных до имени таблицы.

Например, вместо записи SELECT * FROM Client поместите SELECT * FROM database.Client.

ответил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
45

Неправильное загрязнение ошибок.

Если у меня возникнут проблемы с разрешением SQL, я проверю свои области разрешения (настройки → Языки и рамки → Области разрешения SQL).

Как правило, у меня есть большинство проблем, когда по умолчанию для моего сопоставления проектов установлено значение "Все источники данных".

Следующие шаги всегда исправляют это для меня:

    Нажмите раскрывающееся меню "Сопоставление проектов" Снимите отметку с глобального значения "Все источники данных" (требуется для выбора другого выбора) Нажмите стрелку раскрывающегося списка для подключения к базе данных. Проверьте "Все схемы" (или конкретные таблицы) Нажмите "ОК", чтобы закрыть окно настроек.

Ошибки ложного разрешения должны исчезнуть после следующего цикла анализа.

Вы не ограничены применением вышеуказанных шагов только к одному соединению с БД, вы можете сделать это для всех подключений в своем проекте.

Иногда добавление области пользовательского разрешения также будет работать, но для меня это поразит или пропустит.

    Щелкните знак плюса (вверху справа) Выберите файл, над которым вы работаете, и нажмите "ОК" Выберите столбец "Область разрешения" Отменить выбор всех источников данных Выберите нужные ресурсы БД

Повторное подключение к БД никогда не работает для меня.

Указание таблицы хорошо работает... но она может стать очень громоздкой по мере роста проекта.

Надеюсь это поможет!

РЕДАКТИРОВАТЬ:

Я также столкнулся с дополнительной ситуацией, когда PHPStorm разрешит только некоторые из моих запросов, независимо от того, какие настройки разрешения области я использовал. Однако, после того, как я подключил консоль к моему файлу, они решили все нормально. (Найдите "Attach Console" в справке | Найти действие. Вы также можете добавить его в "Быстрый список" или "Ключ-карту").

ответил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
46

в версиях phpStorm до 2017 года, у которых нет опции "Разрешения SQL-разрешений", чтобы отклонить эту ошибку:

перейти в файл перейти к настройкам... перейти к редактору, а затем проверить в главе SQL снимите отметку с неразрешенной ссылки нажмите, чтобы применить, а затем ОК.

►►►►►►► Надежды на помощь

ответил(а) 2021-01-25T17:37:07+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема