Мне нужна связка 2х таблиц Yii2
Ищу в инете, я не понимаю их примеры, решил тут напрямую спросить
В одной таблице klient_link нужно выбрать всех клиентов где id_klient => 4 и id_active => [3,4]
Далее в другой таблице kliet нужно вывести поле name только для тек клиентов которые указаны в таблице klient_link при выборке
Если я делаю выборку 2х таблиц по отдельности и потом прогоняю через foreach и сравниваю id, затем подставляю им title То получается 2 цикла, выкидывают дубли, что совсем не красиво Такой способ конечно не только не правильный, но и не удобный и не рабочий
Знаю что на чистом php делается это одной строчкой через JOIN Как мне так же сделать 1 строчкой в Yii2 ? Объясните плиз
Ответы (1 шт):
Разобрался!
Спасибо источнику: https://p0vidl0.info/yii2-api-guides/guide-ru-db-active-record.html
В моделе getTableLinksForm (klient_link)
public function getTableLinksForm()
{
return $this->hasMany(TableLinksForm::className(), ['id' => 'manager_id']);
}
В моделе User (klient)
public function getUser()
{
return $this->hasOne(User::className(), ['manager_id' => 'id']);
}
Далее в контроллере
$user = User::findOne([2]);
$username = $user->username;