在我的用戶模型我有一個函數:Yii2 GridView控件值調用模型函數
public function getRole() {
if ($this->role == self::ROLE_USER) {
return "user";
} else if ($this->role == self::ROLE_ADMIN) {
return "admin";
}
return "unassigned";
}
在我想稱它爲GridView的,但不能弄清楚如何在Yii2,老Yii的方式似乎不工作:
[
'attribute' => 'role',
'filter' => false,
'format' => 'raw',
'value' => '$model->getRole()',
],
我不想使用匿名函數:
'value' => function($model) {
switch($model->role) {
case 10:
return "user";
break;
case 90;
return "admin";
break;
default;
return "unassigned";
break;
}
},
有什麼特別的原因,你不希望使用匿名函數?這是首選方式。 – Bizley
,因爲它的代碼重複,因爲我在其他情況下使用'getRole' – keeg
這意味着它的代碼重複和.. ...?請在我正在檢查並返回角色字符串的匿名函數中更好地解釋您的評論 – scaisEdge