Возможно ли и как лучше всего определить отношение с параметром в Yii2.
Ситуация проста. У меня есть таблица тексты и тексты_региональные. 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]);
}
Мне нужны данные из обеих таблиц, поэтому я хотел бы загрузить это.
Не лучше ли использовать отдельный метод и вручную построить запрос?