不好意思啊,繼續水的一天
在看之前寫的程式碼的時候,覺得訪問器這塊可能會遺忘,所以決定還是自己記錄下比較好
laravel中的訪問器我個人的理解是,在從資料庫中取出來的某個或者某些欄位的值中,如果有需要做特殊處理然後才返回給前端的話,這個時候需用用到訪問器
我個人首先想到的就是那個
created_at
欄位,laravel對這個東西已經有了他自己的處理,那就是在模型文章中定義以下內容即可:protected $date = ['created_at','updated_at'];
這樣這兩個欄位就是自動轉換為常用的時間格式,當然對這兩個欄位還可以設定其他格式,具體方法可以看文件
參照教程中的案例 ( 因為我菜,所以實在想不到其他合適的案例 ) :
- 資料庫在存收貨地址的時候,省,市,區,具體地址這幾個欄位是分開的,但是在前端顯示的時候是連在一塊的,這個時候就可以用到訪問器了.
- 可以在對應的模型檔案 ( 如Address ) 中定義一個方法 ( 方法名是駝峰式命名 ), 如:
public function getAllAddressAttribute() { return "$this->province" . "$this->city" . "$this->district" . "$this->address"; }
- 這樣的話,回頭如果需要一個完整的收貨地址的話,就可以通過
$address->all_address
來獲取了 ( 其中$address
是Address
模型的一個例項)
當然了,有訪問器,對應的還有修改器,只不過是把
get
換成了set
,具體用法可以看下文件
記錄菜雞成長的一天
本作品採用《CC 協議》,轉載必須註明作者和本文連結