Добрый вечер.
Необходимо настроить связи между моделями.
Выглядит это примерно так:
Модель Profile
В таблице профиля берётся id записи, в данном случае "id" и ищется в таблице вакансий, в которой должен быть "id_company" соответствующий id профиля компании.
public function getVacancy()
{
return $this->hasMany(Vacancy::class, ['id_company' => 'id']); // у одного профиля может быть много вакансий
}
Модель Vacancypublic function getProfile()
{
return $this->hasOne(Profile::class, ['id' => 'id_company']); // у одной вакансии может быть только один профиль.
}
Тогда Ваш запрос превращается в такой:
$vacancies = new ArrayDataProvider([
'allModels' => Vacancy::find()->with('profile')->where(['creator' => $creator]),
'pagination' => [
'pageSize' => 30
]
]);
return $vacancies;
Получить имя профиля можно так
echo $vacancies->profile->company;
Подробней
здесь.