0
와 YII HAS_MANY 관계 I 후속 코드가 있습니다비 외래 키 및 비 기본 키
$country = CountryCodes::model()->with(
[
'country_subdivisions' => [
CountryCodes::HAS_MANY,
'CountrySubDivision',
['country_subdivisions.iso2'=>'t.iso2']
]
]
)->findByPk($id);
$states = $country->country_subdivisions;
내가 두 모델/테이블 CountryCodes을 가지고 CountrySubDivision을. 두 표 모두 iso2 열을가집니다. ID별로 국가 별 관련 세부 분류를 가져오고 싶습니다.
나는 왜 다음과 같은 오류를 얻고있다 확실하지 않다 :
관계 "country_subdivisions을"액티브 레코드 클래스 "CountryCodes"에 정의되어 있지 않습니다.
나는 Yii Framework의 초보자이며 Yii 1.1.x와 php 5.6을 사용하고 있습니다.
덕분에, 지금은 매력처럼 작동합니다. 내 클래스 계층 구조는 다음과 같습니다. BaseCountryCode -CountryCodes 기본 클래스에 내 릴레이션 메소드를 넣었습니다. 나는 공공 기능 "관계"가 어린이 수업에 액세스 할 수 있다고 생각했다. 그것은 작동하지 않았다. 그래서 위 구문을 사용하려고 시도했다. – sdhakal
@sdhakal BaseCountryCode 클래스에서 관계를 정의하면 CountryCodes 클래스에서 parent :: relations() 만 반환하면됩니다. like
공개 함수 관계() { parent :: relations(); } – turutosiya
그래, 사실, 나는 똑같이 완벽하게 잘 작동 .. 감사합니다 Logged – sdhakal