public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'dziecko' => array(self::BELONGS_TO, 'Dziecko', 'dziecko_id'),
'rodzic' => array(self::BELONGS_TO, 'Rodzic', 'rodzic_id'),
);
}
Problem
Próbuję wyświetlić w widoku Imie i Nazwisko, niestety nie mogę wykombinować jak to połączyć i nie wiem też jak dobrze sformułować pytanie w wyszukiwarce. Przeczytałem, że z BELOGNS_TO wystarczy dać model.kolumna a jak zrobić w przypadku jak chce użyć 2 kolumn ?
oraz odpowiednio zmieniając attributeLabels() w modelu dziecka i rodzica. Nie zmienia to faktu, że jeżeli do dziecka przypisze 2 rodziców (bądź więcej) stanie się to bardzo nieczytelne.
Nie działa jak chcesz, bo to jest przecież relacja n:m, a nie 1:n. Modelu do tabeli dziecko_has_rodzic nie robisz w ogóle. W modelach do tabel dziecko oraz rodzic ustawiasz relacje MANY_MANY z tabelą łączącą dziecko_has_rodzic. Jak to zrobić napisane jest w dokumentacji (dokładnie pod linkami które wysłałem w innym Twoim temacie).
Na upartego możesz zadeklarować to jako 2 relacji 1:n za pomocą HAS_MANY oraz BELONGS_TO, ale żeby działało z automatu musiałbyś zadeklarować dodatkową relację z parametrem ‘through’. Jest to jednak w tym przypadku rozwiązanie nieprawidłowe, a piszę o tym jedynie, żeby zaznaczyć taką techniczną możliwość.
Dzięki wielkie. Niestety nie potrafiłem wyczytać z dokumentacji rozwiązania dla tego przypadku. Nie poruszałbym tematu gdybym wcześniej nie próbował znaleźć sam rozwiązania.