제목 | join을 한 두 테이블이 같은 column을 가지고 있을때 처리 문제입니다. | ||
---|---|---|---|
글쓴이 | roy | 작성시각 | 2013/09/26 14:08:46 |
|
|||
Active Record를 사용하여 두 테이블을 join하는데 두개의 테이블에 동일한 이름의 column이 있을때, 현재는 A join B인 경우 B의 것으로 덮어 쓰게 되어있습니다. 이 문제에 대한 해결을 찾아보니 A.name a_name, B.name b_name 으로 alias 하는 것 밖에 나오지 않더군요. 하지만, 이렇게 되면 쿼리를 만들때, 두 테이블에 동일한 이름의 column이 있는지 매번 확인해야합니다. 게다가 만일 동일한 이름의 column이 많다면 줄줄이 select에 다 적어줘야 하고요. 이 문제를 해결하는데 alias 보다 더 간단하고 스마트한 방법이 없을까요? |
|||
다음글 | 죄송합니다 다시 질문 좀 드리까합니다. (6) | ||
이전글 | output 클래스를 이용할시 HTTP Header가 ... (4) | ||
한대승(불의회상)
/
2013/09/26 14:43:44 /
추천
0
간단하지만 무식한 모든 컬럼에 테이블명 달기가 있습니다.
|
roy
/
2013/09/26 14:45:07 /
추천
0
한대승 // 그것은 왠만하면 피하고 싶습니다 ㅜㅜ
|
변종원(웅파)
/
2013/09/26 15:01:55 /
추천
0
필요하지 않은 항목은 가져오지 않고 일일이 항목명을 기술하는지라
어쩌다 한번 발생할까 말까합니다. 일일이 기술하다 보면 join 거는 테이블의 항목들을 볼 수밖에 없구요. ci 순정(?)으로는 alias 이외에 방법이 없을 것 같네요. |
한대승(불의회상)
/
2013/09/26 15:02:06 /
추천
0
반환되는 열의 컬럼명을 배열명으로 하고 있는 PHP의 특성상 Alias 외에는 대안이 없어 보입니다.
|
roy
/
2013/09/26 15:04:05 /
추천
0
네, 그렇군요. 두 분 고맙습니다~ |