Nazwa po id z innej tabeli

Dwie tabele: zadanie oraz użytkownik.

W tabeli zadanie jest kolumna "utworzone przez" gdzie sobie zapisuję id (int) użytkownika który to utworzył.

W widoku zadania mam jednak zapisane np. 1,2 itp.

Jak zrobić aby odczytywać tu na postawie id nazwę użytkownika z innej tabeli?

Widoki standardowe DetailView i GrdiView tak jak tworzy Gii CRUD generator.

Tabele nie powiązane kluczem obcym

Inne tabele mam powiązane już kluczem obcym więc będzie łatwiej?

Nie wiem czy dobrze opisałem problem, jak potrzeba więcej informacji proszę pisać.

Jakbyś dał klucze obce, to generator Gii stworzyłby Ci w modelach takie coś:

W modelu Zadanie, ale można zrobić to samemu


public function getUserX()

{

	return $this->hasOne(Users::className(), ['id' => 'created_by'])


}

W kontroller dajesz


$zadania = Zadanie::findOne(1);

$user = $zadania->userX;

Jeżeli masz tabele łączącą (junk table) to wyglada to tak:


public function getUser()

    {

        return $this->hasMany(Users::className(), ['id' => 'user_id'])

            ->viaTable('zadanie_user', ['zadanie_id' => 'id']);

    }

Dzięki wielkie za odpowiedź.

Wystarczy dopisać odpowiednie funkcje i jest wszystko dostępne.