Ändert den Wert eines Attributs im DetailView-Widget

8

Ich habe eine Tabelle mit dem Namen Play und zeige Details zu jedem Datensatz im Yi2-Detailansicht-Widget an. Ich habe ein Attribut in der Tabelle recurring , das vom Typ tinyint ist, es kann 0 oder 1 sein. Aber ich möchte es nicht als Zahl anzeigen, stattdessen möchte ich yes oder no basierend darauf anzeigen der Wert (0 oder 1).

Ich versuche das mit einer Funktion im detailview Widget zu ändern, aber ich bekomme einen Fehler: Object of class Closure could not be converted to string

Mein Detailansichtscode:

%Vor%

Jede Hilfe wäre willkommen!

    
vrt1515 03.02.2015, 13:23
quelle

2 Antworten

13

Versuchen Sie

%Vor%     
rkm 03.02.2015, 13:51
quelle
14

Im Gegensatz zu GridView , das eine Reihe von Modellen verarbeitet, verarbeitet DetailView nur einen. Es ist also nicht notwendig, closure zu verwenden, da $model das einzige Modell für die Anzeige ist und in der Ansicht als Variable verfügbar ist.

Sie können definitiv die Lösung verwenden vorgeschlagen von rkm , aber es gibt eine einfachere Option.

Übrigens können Sie die Bedingung etwas vereinfachen, da die erlaubten Werte nur 0 und 1 sind:

%Vor%

Wenn Sie den Wert nur als boolesch anzeigen möchten, können Sie das Formatierungssuffix mit Doppelpunkt hinzufügen:

%Vor%

'format' => 'raw' ist hier überflüssig, weil es nur Text ohne HTML ist.

Wenn Sie weitere Optionen hinzufügen möchten, können Sie dies verwenden:

%Vor%

Die Verwendung von Formatierung ist flexibler, da diese Beschriftungen abhängig von der in config eingestellten Anwendungssprache generiert werden.

Offizielle Dokumentation:

Siehe auch diese Frage , es ist ziemlich ähnlich wie bei Ihnen.

    
arogachev 03.02.2015 14:41
quelle

Tags und Links