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的数据格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 客户端访问数据库,ORAC
- 下一篇: oracle数据泵导入提示00972,o