Yii Framework Forum: Cdetailview - Imie I Nazwisko Zamiast Id - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cdetailview - Imie I Nazwisko Zamiast Id Rate Topic: -----

#1 User is offline   mentorq 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 105
  • Joined: 26-June 13

Posted 06 July 2013 - 04:37 AM

Witam.
view DzieckoHasRodzic
Posted Image

<h1>View DzieckoHasRodzic #<?php echo $model->dziecko_id; ?></h1>

<?php $this->widget('zii.widgets.CDetailView', array(
	'data'=>$model,
	'attributes'=>array(
		//'dziecko_id',
                array('name'=>'dziecko.imie'),
		//'rodzic_id',
                array('name'=>'rodzic.imie'),
	),
)); ?>


Relacje - dziecko i rodzic maja HAS_MANY
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

Posted Image

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 ?
0

#2 User is offline   andrzej1_1 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 67
  • Joined: 16-April 13

Posted 06 July 2013 - 08:54 AM

Nie wiem czy tak można, ale spróbuj takich atrybutów:
array('name'=>'dziecko.imie'.' '.'rodzic.nazwisko'),
array('name'=>'rodzic.imie'.' '.'rodzic.nazwisko'),

0

#3 User is offline   mentorq 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 105
  • Joined: 26-June 13

Posted 06 July 2013 - 10:01 AM

Już to sprawdzałem wcześniej i wywala błąd:
Property "Dziecko.imie dziecko" is not defined.


Jedyne co udało mi się zrobić to:
Posted Image

Zmieniając kod:
<?php $this->widget('zii.widgets.CDetailView', array(
	'data'=>$model,
	'attributes'=>array(
		//'dziecko_id',
                array('name'=>'dziecko.imie'),
                array('name'=>'dziecko.nazwisko'),
		//'rodzic_id',
                array('name'=>'rodzic.imie'),
                array('name'=>'rodzic.nazwisko'),
	),
)); ?>


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.
0

#4 User is offline   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 07 July 2013 - 12:52 PM

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ść.
---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

#5 User is offline   black.cat 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 30-September 12
  • Location:Düsseldorf, Germany

Posted 07 July 2013 - 02:44 PM

Powracając do kolebki tematu:

<?php $this->widget('zii.widgets.CDetailView', array(
	'data'=>$model,
	'attributes'=>array(
		array(
			'label'=>'Imię i nazwisko dziecka',
			'value'=>"{dziecko.imie} {dziecko.nazwisko}",
		),
		array(
			'label'=>'Imię i nazwisko rodzica',
			'value'=>"{rodzic.imie} {rodzic.nazwisko}",
		),
	),
)); ?>

Yii posiada świetną dokumentacje, która nie gryzie. http://www.yiiframew...tributes-detail
1

#6 User is offline   mentorq 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 105
  • Joined: 26-June 13

Posted 08 July 2013 - 11:06 AM

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.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users