yii,根据状态值获取状态名称

新闻定义了如下状态: [‘0‘=>‘不显示‘, ‘1‘=>‘显示‘, ‘2‘=>‘推荐‘]

现在需要在列表显示状态名称,可以先在模型中定义函数:

/**
    *   get status
    *   
    */
    public function getStatus($status){
        $status_arr = [
            ‘0‘ => yii::t(‘common‘, ‘not show‘),
            ‘1‘ => yii::t(‘common‘, ‘show‘),
            ‘2‘ => yii::t(‘common‘, ‘recommend‘),
        ];
        if(array_key_exists($status, $status_arr)){
            return $status_arr[$status];
        }else{
            return  yii::t(‘common‘, ‘not set‘);
        }
        
    }

然后再gridview中使用函数:

[
    ‘attribute‘ => ‘status‘,
    ‘value‘ => function ($model) {
                    return $model->getStatus($model->status);
                },
],

对于hasOne,比如我需要获取模块的语言:

 /**
    *   get module_name language
    *   
    */
    public function getModulesName($module_name){
        return yii::t(‘common‘, $module_name);
    }

hasOne:

/**
     * @return \yii\db\ActiveQuery
     */
    public function getModules0()
    {
        return $this->hasOne(Modules::className(), [‘id‘ => ‘modules‘]);
    }

通过modules的字段获取语言:

/**
    *   get module_name language
    *   
    */
    public function getModulesName($module_name){
        return yii::t(‘common‘, $module_name);
    }

使用:

[
                ‘attribute‘ => ‘modules‘,
                ‘value‘ => function ($model) {
                    return $model->getModulesName($model->modules0->module_name);
                },
],
时间: 2025-01-04 23:58:51

yii,根据状态值获取状态名称的相关文章

AJAX状态值与状态码

在<Pragmatic Ajax A Web 2.0 Primer > 0: (Uninitialized) the send( ) method has not yet been invoked.  1: (Loading) the send( ) method has been invoked, request in progress.  2: (Loaded) the send( ) method has completed, entire response received. 3: (

SpringMVC请求使用@PathVariable获取文件名称并且文件名中存在.导致路径被截取的问题

在SpringMVC中,当使用@pathVariable通过Get请求获取路径名称时,如果路径名称上存在小数点,则获取不到小数点后面的内容,会被Spring截取. 比如我获取某一文件,路径是localhost:8080/file/test.jpg,通过@PathVariable获取test.jpg,如果不做任何处理,结果获取到的是test. 这种情况有两种处理方式,一种是请求的时候在路径最后多加个.jpg或者是.其他,比如通过地址localhost:8080/file/file.jpg.jpg或

WinAPI: GetKeyNameText - 根据键盘消息获取按键名称

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs; type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    procedure MyMsg(var msg: TWMKeyDown); message WM_KEYDOWN;  end;

AJAX 状态值与状态码详解

1- AJAX状态值与状态码区别 AJAX状态值是指,运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤.如:正在发送,正在响应等,由AJAX对象与服务器交互时所得:使用"ajax.readyState "获得.(由数字1~4单位数字组成)AJAX状态码是指,无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码,该信息使用"ajax.status "所获得:(由数字1XX,2XX三位数字

Bash Shell 解析路径获取文件名称和文件夹名

前言 还是今天再写一个自己主动化打包脚本.用到了从路径名中获取最后的文件名称.这里记录一下实现过程. 当然,最后我也会给出官方的做法.(ps:非常囧,实现完了才发现原来Bash Shell有现成的函数) 获取文件名称 如果给定的路径名为: /tmp/csdn/zhengyi/test/zhengyi.txt awk解法 用"/"做分隔符,然后打印出最后的那一部分. 实现代码例如以下: resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk

JS获取浏览器名称及版本信息

获取浏览器名称及版本信息,如果当前浏览器是IE,弹出浏览器版本,否则弹出当前浏览器名称和版本,详细实现代码请参考本文 // 获取浏览器名称及版本信息 function browserInfo() { var browser = { msie: false, chrome: false, firefox: false, opera: false, netscape: false, safari: false, appname: 'unknown', version: 0 }, userAgent

能否在函数内动态获取函数名称 ?(亲测,居然真的可以)

C++ 可以用宏定义 __FUNCTION__ 或__func__ 获取所在的函数.方便调试. #define LOG(fmt, args...) printf("%s:"fmt,__FUNCTION__,##args) Delphi是否也能呢 ?Delphi 如何动态获取函数名称,而不是每个函数log都打一遍函数名. C++ Builder 是否像 C++ 也提供这种支持 ? 可以通过一些调试信息获取,请研究jclDebug.ProcByLevel 32 位系统不错.64 位系统的获

MVC如何获取控制器名称和Action名称

对于这个问题,百度出了不少说吗,基本上一样,可是对自己都派不上用场.自己尝试出来的代码,也许适合你. 1.获取控制器名称代码 var controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"]; 2.获取Action名称代码 var actionName = HttpContext.Current.Request.RequestContext.RouteData.V

Ajax 高级教程之 AJAX状态值与状态码

1-  AJAX状态值与状态码区别 AJAX状态值是指,运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤.如:正在发送,正在响应等,由AJAX对象与服务器交互时所得:使用"ajax.readyState"获得.(由数字1~4单位数字组成) AJAX状态码是指,无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码,该信息使用"ajax.status"所获得:(由数字1XX,2XX三位数字