私はカテゴリ配列を返す私の教師モデルの関数を持っています。Yii gridviewは値の外部変数を使用します
getCaterogies() {
return array('1' => 'short tempered', '2' => 'funny', '3' => 'visionary', ...);
}
私は、データベース内のインデックスを格納し、それに対応する配列の値を使用してどこにでも値を表示しています。..
$categories = $teacher->categories;
$category = $categories[$teacher->category];
私は誰かが私は内の文字列を格納しないことが示唆ので、一度これをやっていますステータスであるデータベースは代わりに整数値を格納し、変換をデータベースに格納するか、htモデルで定義します。文字列の問題は、比較において人為的なエラーが発生しやすくなることです。大文字と小文字の区別があるためかもしれません。
今私が直面している問題は、gridviewに値を表示しているときに値のフィールドに2行を書く必要がありますが、式であり、外部変数にも取られません。
グリッドビューではどのように動作させることができますか?
はチャームのように動作します..両方のソリューション..thankyou ..:) –
ヒント:必要ならば、(レコードごとに)モデル関数を呼び出して、前記レコードの異なるgridview列に印刷する複数の値を返すことができます。すべての列で関数を呼び出す代わりに、最初の列で呼び出すことができ、$ categoriesを結果で更新することができます。したがって、他の列は$カテゴリから読み込むことができます。これを行うには、参照によってパラメータを '使用'します(含まれている場合はパラメータの前にアンパサンド(&)を追加するだけです)。 'value' =>関数($ data、$ row)を使用する(&$ categories){ $ categories = ... }、 –