@Alxjzx100

PhpStorm, как определить своё значение свойства?

Всем привет.

Столкнулся, с тем, что PhpStorm не понимает объявления $this->db->database в запросе.

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

К примеру
//$this->db2->database string "database2"
$this->db->query("SELECT table1.id, table2.name FROM table1 LEFT JOIN ".$this->db2->database.".users table2 ON table1.id = table2.id");


Если вместо $this->db2->database написать database2 - phpStorm все нравится , ошибки исчезают. Как я понимаю, он не видит определения $this->db2->database .

Можно ли как-то ему подсказать, что это database2? Возможно, есть специальный комментарий для таких случаев ?
Спасибо.
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
glaphire
@glaphire Куратор тега PHP
PHP developer
Думаю что в коде какая-то ошибка и шторм правильно ругается (неправильно настроены конфиги или класс для второй базы данных).
Самый простой способ - перед запросом сохранить $this->db2->database в переменную и над ней написать phpdoc с описанием, что она возвращает, потом уже подставлять $databaseName2 в запрос.
/**
 * @var string $databaseName2
 */
$databaseName2 = $this->db2->database;

Замечание по коду - не надо так подставлять значения в строки, лучше использовать sprintf() или подставлять только итоговую переменную, а не обращение к объектам по цепочке.
Ответ написан
Ваш ответ на вопрос

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

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