Laravel 5 Eloquent cast array

打奧特曼的小怪獸發表於2018-01-22

屬性修改 使用中的疑惑(備忘)

https://learnku.com/docs/laravel/5.5/eloqu...

Model

use Eloquent as Model;
class Series extends Model {

         protected $casts = [
            'field' => 'array'
         ];

    public function getFieldAttribute($value){
        return someFunction($value);
    }
}

使用注意

屬性修改器,提供了很方便的方式,修改Model對應的屬性。但是在實際使用時,將字串特殊處理後,轉換成陣列。
本來以為要 特意指定 $casts = ['field'=>'array']。但是指定後,反而不能達到預期效果。去掉以後,就正常了。
沒有細究原因,寫在這裡是用作備忘,後續看下原始碼是怎麼處理的

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

相關文章