Yii2에서 매개 변수와의 관계를 정의하는 것이 가장 좋은 방법일까요?Yii2와 매개 변수의 관계
상황은 간단합니다. 나는 테이블 과 texts_regional이 있습니다. texts_regional 물론 외래 키가 있습니다 text_id 및 lang_id입니다.
Gii는 모든 지역 텍스트를 가져 오는 방법을 생성했지만 프론트 엔드에서는 필요하지 않습니다. 나는 현재의 언어로되어있다. 생성 방법은 다음과 같습니다
public function getTextsRegionals()
{
return $this->hasMany(TextRegional::className(), ['text_id' => 'id']);
}
이 시도하지만 그것은 아마도 옳지 않아 :
public function getReg($langId=null)
{
if($langId === null && Yii::$app->session->has('langId')) {
$langId = Yii::$app->session->get('langId');
}
return $this->hasOne(TextRegional::className(), ['text_id' => 'id', 'lang_id'=>$langId]);
}
내가 두 테이블의 데이터가 그래서 열망 하중이 싶습니다해야합니다.
별도의 메서드를 사용하고 쿼리를 수동으로 생성하는 것이 더 좋습니까?
public function getReg($langId=1)
{
if(Yii::$app->session->has('langId')) {
$langId = Yii::$app->session->get('langId');
}
return $this->hasOne(TextRegional::className(), ['text_id' => 'id'])->onCondition(['lang_id' => $langId]);
}
$ LANGID는 메인 컨트롤러에 설정됩니다 : - 그것은 할 가능성이 문서에