Yii Ansicht, Ersetzen einige Datenbank-Werte in der CGridView
Ich bin neu mit Yii, Sorry, wenn meine Frage vielleicht blöd sein, ich bin mit CGridView zu zeigen, einige Felder meiner Datenbank in einer Tabelle:
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'show-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'title',
'brief',
'tbl_season_id',
'on_season',
array(
'name'=>'status',
'value'=>'Lookup::item("NewsStatus",$data->status)',
'filter'=> Lookup::items('NewsStatus'),
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
</div>
Möchte ich ersetzen einige der Werte, die dargestellt werden, zum Beispiel, die on_season
Feld ist Binär und in der Tabelle die Werte 0 oder 1, ich möchte das ändern dieser Werte zu Yes
und NO
,
Sowie tbl_season_id
ist ein Fremdschlüssel, der die form einer anderen Tabelle, ich möchte die Namen der Saison an und legte es statt der id, die nicht durch den Benutzer verständlich.
- Zum ersten: Sie haben zu tun die gleiche wie bei der Spalte 'status'. Put 'type' Eigenschaft auf 'raw' und dann können Sie tun, was Sie brauchen, in die 'value' - Eigenschaft (z.B. '$Daten->on_season? "Yes": "No"'). Zum zweiten: erstellen Sie eine Beziehung in Ihrem Modell (z.B. namens "Saison") und dann das Verhältnis in der Spalte auf diese Weise: 'Saison'.name'.
- Es hat funktioniert, auch kann ich ersetzen die Titel Werte?
- Es gibt eine Eigenschaft namens 'header' 😛 Für weitere Informationen über verfügbare Attribute: yiiframework.com/doc/api/1.1/CGridColumn
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie in diesem wiki-Artikel für die Anpassung Ihrer Spalte Werte nach Herzenslust
Yii Documentataion: cgridview-render-individuell-Komplex-datacolumns
Nur daran erinnern, dass die Eigenschaft Wert kann ein Ausdruck sein, der string, die später ausgewertet für die einzelnen Daten-Zeilen. So haben Sie eine Methode aufrufen, es kann dynamisch berechnen Sie einen beliebigen Wert für Sie je nach den aktuellen Werten der Zeile.
Lassen Sie haben zwei Tabelle
1): Kunden 2): Projekte
Bezug ist ein client hat viele Projekte.
im Modell
und Kunden Modell die Beziehung ist (in der Client-Tabelle Modell-name ist Client)
und der relations () - Methode ;
Projekt-Modell die Beziehung ist (die Tabelle Projekt-Modell name ist Projekte)
und der relations () - Methode ;
Jetzt
jetzt können Sie die folgenden, um das client_name ersetzen Sie die client_id Zweck dieses hilfsprojektes in Tabelle
in der CGridView
und
Projekt-Ansicht-Seite in CDetailView können Sie die folgenden
)
wenn Sie client-Beziehung mit der Tabelle Firma (eine Firma hat viele Kunden )
client-Modell
können Sie auch den Namen des Unternehmens durch folgende Methode in
index (CGridview)
Blick CDetailView