Laravel 中的訪問器

  • 在看之前寫的代碼的時候,覺得訪問器這塊可能會遺忘,所以決定還是自己記錄下比較好

  • 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來獲取了 ( 其中$addressAddress模型的一個實例)
  • 當然了,有訪問器,對應的還有修改器,只不過是把get換成了set,具體用法可以看下文檔
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章