2010-11-28 6 views
0

가 어떻게이 교리 2 모델 테이블 행 변수의 이름을 지정해야합니다 (예 : url-name은 테이블 행의 이름)와 그와 함께 그것을 시도 :Doctrine 2 Model : 어떻게 테이블 이름을 "-"로 설정 했습니까?

/** @Column(name="url-name", type="string") */ 
private $urlName; 

// or I tried also 

/** @Column(name="`url-name`", type="string") */ 
private $url_name; 

을하지만 (이 행에 대한 결과 $ URLNAME 행을 인출하지 않습니다 비어 있지만 다른 행/나머지는 올바른 가져옵니다).

답변

0

빼기 문자를 열 이름의 일부로 사용할 수 없습니다. 그냥이 쿼리에서 살펴 : 그것은 price * tax 세금에 의해 곱 가격을 의미처럼 URL에서 빼기 이름을 의미

SELECT url-name ... 

. - 대신 _을 사용하십시오.

+1

왜 마이너스 문자를 열 이름의 일부로 사용할 수 없어야합니까? 나는'\'\''로 설정해야한다. 'SELECT \'url-name \'FROM ... 'btw. 위의 코드에서 업데이트를 참조하십시오. – Poru

+0

나는 그 교리 문제를 생각하지 않습니다. Crozin이 언급 한 것처럼 표준 이름입니다. "* -"와 같은 문자를 사용하지 말고 대신 "_"을 사용하십시오. ''올바른 것 ''이라도 쿼리를 실행하면 데이터베이스 엔진은 에러를 반환합니다 – allenskd

+0

'url_name','urlName' 또는'url-name'의 유일한 차이점은 미학입니다. 그리고 네, 개인적으로 저는 개인적으로'url-name'이'url_name'보다 더 예쁘다고 생각합니다. 그러나 첫 번째 형태는 유효하지 않습니다. 역 인용 부호 (오라클에서는 '', MSSQL에서는 [] 등)를 사용하는 것이 최악의 해결책이다. 또한 ... 당신은 교리를 사용하고 있습니다. 그래서 차이점은 무엇입니까? 아마도'urlName'을 사용하여 Doctrine 스키마에서 작업하게 될 것입니다. – Crozin

관련 문제