2013-01-17 2 views
0

내 응용 프로그램을 Koahana 3.0.1에서 Kohana 3.3으로 업그레이드했습니다. 그것은 Koahana 3.0.1에서 올바르게 작동합니다. 그러나 Kohana 3.3에서는 알 수없는 열 오류가 발생합니다. 아래는 비즈니스 모델에서 사용하고있는 쿼리입니다.Kohana의 알 수없는 열 오류 3.3

$biz = $this->where('business.id','IN',$arr) 
     ->join('users','LEFT') 
    ->select(array('users.id','u')) 
    ->on('users.business_id','=','business.id') 
    ->find_all(); 

테이블 이름은 비즈니스와 사용자입니다. 이 모델은

class Model_Business extends ORM 

로 정의 오류는 말한다 -

Database_Exception를 [1054] : 알 수없는 열은 위와 같이 업데이트하여 ('where 절'

나는이 문제를 해결할 수에 'businesses.id')하지만, 이제는 새로운 오류가 있습니다 - "메소드 find()는로드 된 객체에서 호출 될 수 없습니다".

모델 자체에서 find_all()을 사용할 수없는 것처럼 보입니다. 현재 프로젝트에서는 모든 쿼리에 대해 모델의 결과를 반환합니다. 다시 말하면 업그레이드는 거의 모든 코드를 변경해야합니다. 이 문제를 해결할 수있는 방법이 있습니까?

+0

전체 오류 메시지를 게시하십시오. –

+0

처럼 보이는 비즈니스 -> 비즈니스 별칭은 어떤 이유로 든 문제를 일으키는 것 같습니다. – danjp

답변

0

businesses.id로 사용해 보셨습니까?

+0

기업에서 문제를 해결하고 있습니다. 문제를 해결할 수 있지만 곧 두 버전에 큰 변화가 있음을 발견했으며 업그레이드는 최신 버전에 대한 동일한 코드. – KutePHP

0

Kohana 3.1부터 ORM 필드는 항상 별칭 이름을 반환합니다. $_has_many 인 경우 복수형이며 $_has_one 또는 $_belongs_to 인 경우 단수입니다. 모델 이름을 확인하려면 을 원하는 값으로 설정하십시오.