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!
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:
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.
Tags und Links yii2 detailview