Laravel 中的訪問器

xiaosheng發表於2020-04-12

不好意思啊,繼續水的一天


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

  • 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,具體用法可以看下文件


記錄菜雞成長的一天

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章