Про связанные данные читал, с этим у меня всё получилось замечательно. Единственное не ясны некоторые моменты.
1) Когда я строю связь, то это получается аналог join? Но для чего join и joinWith? Или это используется в ActiveQuery, когда из модели или компонента надо сделать запрос к другой таблице с помощью конструктора запросов? И как вообще правильно тут с джоинами рабоать? Вот такой код не отработал без создания связи (Getting unknown property: common\models\lineage\La2Characters::character_subclasses)
$model = La2Characters::find()
->leftJoin('character_subclasses', 'characters.obj_Id = character_subclasses.char_obj_id')
->where(['>', 'online', '0'])
->all();
Если делаю свзяь
public function getCharacter_subclasses(){
return $this->hasMany(La2CharacterSubclasses::className(), ['char_obj_id' => 'obj_Id'])->all();
}
То данные получаю, только в джоине смысл отпадает
2) Когда я делаю связь с другой таблицей, то доступ ко второй таблице у меня только через $obj1->obj2, как мне сделать, что бы вся инфа была в первом объекте?
3) Или я делаю что-то не так или, опять же, не до конца понял концепцию. Когда я дописываю asArray() в самом запроссе, то доступ к связанным данным теряется.