PphpStorm이 여러 데이터베이스 연결에 대한 열을 확인할 수 없습니다.
저는 PphpStorm을 사용한 지 일주일 정도밖에 되지 않아서, 지금까지 데이터베이스 연결을 설정한 후 오류 없이 모든 SQL 쿼리가 정상적으로 작동하고 있습니다.이 현재 코드는 실제로 두 번째 데이터베이스(하나는 특정 제품에 대한 사용자용)를 사용하므로 데이터베이스 탭에도 연결을 추가했지만 여전히 '열을 확인할 수 없음' 경고가 표시됩니다.
어떤 데이터베이스를 보고 있는지 확인할 수 있는 방법이 있습니까?여러 데이터베이스에서 작동합니까?아니면 제가 다른 잘못을 했나요?
아래 오류:
$this->db->setSQL("SELECT T1.*, trunc(sysdate) - trunc(DATE_CHANGED) EXPIRES FROM " . $this->tableName . " T1 WHERE lower(" . $this->primaryKey . ")=lower(:id)")
또한 일부 사용자가 매개 변수 패턴에 문제가 있어 이 오류가 발생한 것처럼 보이는 데이터베이스 설정 창도 여기에 있습니다.
PphpStorm 10.0.3 사용
에서 SQL 해상도 범위를 설정할 수 있습니다.File -> Settings -> Languages & Frameworks -> SQL Resolution Scopes
.
이렇게 하면 전체 프로젝트에 대한 기본값을 제공할 수 있으며 프로젝트의 특정 경로에 대한 특정 매핑을 선택적으로 정의할 수 있습니다.
따라서 위의 변수에 설정되어 있더라도 테이블 이름을 변수로 읽을 수 없다는 것이 간단한 답변입니다.저는 PphpStorm이 그것을 해결할 수 있다고 생각했습니다.오류를 제거하는 유일한 방법은 SQL 검사를 완전히 끄거나(프로젝트 전반에 걸쳐 사용하기 때문에 이상적이지 않음이 분명함) 문서 설명을 사용하여 이 문에 대해 일시적으로 사용하지 않도록 설정하는 것입니다.
/** @noinspection SqlResolve */
@var 또는 @method와 같이 더 집중된 의견을 찾아 PHPstorm에게 테이블이 무엇이어야 하는지 알려주어 나머지 진술을 계속 검사할 수 있기를 희망했습니다.다음과 같은 것:/** @var $this->tableName TABLE_IM_USING */
아마도 미래에 JetBrain은 그것을 추가하거나 위의 변수 3줄을 볼 수 있을 만큼 PphpStorm을 영리하게 만들 것입니다.
를 사용하는 대신 Nowdoc/Herdoc을 사용할 수도 있습니다.
/** @noinspection SqlResolve */
예는 다음과 같습니다.
$name = "your name";
$query = <<<SQL
SELECT * FROM user WHERE name LIKE "%$name%" ORDER BY id
SQL;
두 가지 방법 모두 경고가 사라집니다.
언급URL : https://stackoverflow.com/questions/36788799/phpstorm-unable-to-resolve-column-for-multiple-database-connections
'programing' 카테고리의 다른 글
Apple M1에서 Oracle 12c 도커 설정 (0) | 2023.07.21 |
---|---|
Panda로 탭으로 구분된 파일 읽기 - Windows에서는 작동하지만 Mac에서는 작동하지 않습니다. (0) | 2023.07.21 |
정규식을 사용하여 겹치는 모든 일치 항목을 찾는 방법 (0) | 2023.07.21 |
실제 쿼리를 실행하지 않고 JDBC 문에 대한 SQL 구문을 확인하려면 어떻게 해야 합니까? (0) | 2023.07.21 |
최대 절전 모드(EntityManager) 또는 JPA를 사용하여 Oracle 함수 또는 프로시저를 호출하는 방법 (0) | 2023.07.21 |