Yii Framework Forum: Ar Mit With() Und Select =>, Wo Sind Die Daten? - Yii Framework Forum

Jump to content

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

Ar Mit With() Und Select =>, Wo Sind Die Daten? Rate Topic: -----

#1 User is offline   klammeraffe 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 30
  • Joined: 07-September 12
  • Location:Berlin, Germany

Posted 10 December 2012 - 05:26 PM

Ich habe eine relationale Abfrage einer Buchausgabe die den deutschen Namen (id für deutsch ist 150) der Sprachversion des Buchs zeigen soll und außerdem das Cover angeben soll - soweit vorhanden. Falls nicht verhanden, soll stattdessen ein dummy-Bild ausgegeben werden:
$model=Edition::model()->with(array(
			'languagename'=>array(
				'condition'=>'nameinwhatlanguage=150',
				),
			'bookcover'=>array(
				'select'=> array(
				'*',
				'COALESCE(cover, \'dummycover.jpg\') as coverimage',
				),
		)))->findByPk($id);
Die Abfrage produziert soweit keine Fehlermeldung.
Dies:
$this->widget('zii.widgets.CDetailView', array(
	'data'=>$model,
	'attributes'=>array(
		'title',
		'isbn10',
		'isbn13',
                array(
                    'name'=>Yii::t('edition', 'Language'),
                    'value'=>$model->languagename->name,
                ),
		array(
                    'name'=>'bookcover.cover', 
                    'value'=>$model->bookcover->coverimage,
		'bookcover.coverimage',
schlägt jedoch fehl, bei coverimage kommt: Trying to get property of non-object, unabhängig davon ob ein Cover existiert oder nicht. Das dazugehörige SQL aus dem trace funktioniert und liefert entweder das Cover oder 'dummyimage.jpg'. Nach abrufen des Models findet sich aber auch kein coverimage in print_r($model), noch dummyimage.jpg oder ein eigentliches Cover. Wo versteckt sich coverimage im abgerufenen Objekt?

Ich verwende YII 1.1.12 und PostgreSQL 9.1
0

#2 User is offline   kokomo 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 287
  • Joined: 23-July 10

Posted 20 December 2012 - 07:11 AM

Du mußt in der Klasse, in welcher du Edition::model()->with(... aufrufst, eine Klassenvariable coverimage hinzufügen.
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