日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php detailview,GridView以及DetailView的数据格式化

發布時間:2025/3/19 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php detailview,GridView以及DetailView的数据格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GridView和DetailView實在是太強大了。

但是正因為如此,這兩個也做了很厚實的封裝。當有細節調整的時候,有時候就總感覺不如自己寫出來的靈活。

各有利弊吧。

這里整理了一下當填充的數據需要格式化時的幾種方法,可能不全,找到后隨時加。

1.直接在標簽里用預置的格式化方式去格式化

如想著格式化一下時間,那么可以這樣

[

'attribute' => 'updated_at',

'format' => ['date', 'php:Y-m-d H:i:s'],

]

上邊的format就是格式方式啦,其他的格式化方式可以去i18n的formatter里去查。

2.直接調取yii的formatter

[

'attribute' => 'created_at',

'value'=> Yii::$app->formatter->asDate($model->created_at,"php:Y-m-d H:i:s"),

],

看了代碼就不具體解釋了

3.直接調自己寫的方法

有時候,可能框架提供的格式化方法并不夠用,想自定義一個,那么也可以。

可以把方法定義到model里,或者是自己寫一個靜態類

調用方法如下

寫到model里的可以這么調用

[

'attribute' => 'status',

'value'=> $model->generateStatus(),

],

記得在自己寫的方法里return一個字符串作為值。

如果自己寫的類,那么調用方式就和i18n的formatter一樣了。

4.使用匿名函數方式自定義格式化

代碼如下:

[

'attribute' => 'created_at',

'value'=> function($model){

return date('Y-m-d H:i:s',$model->created_at);

}

]

以上方法格式化了時間,但是這種匿名函數的形式只能在GridView里用,Detailview里用報錯,暫時不知道為什么,有知道的歡迎回復一下。

總結

以上是生活随笔為你收集整理的php detailview,GridView以及DetailView的数据格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。