Laravel輸出JSON時設定輸出字段的幾種狀況總結

1.若是輸出json的時候須要屏蔽某些字段,或則想自定義顯示的字段:

 

1.model裏面設置react

  protected $hidden = ['password'];//要屏蔽的字段ios

 

2.model裏面設置數據庫

  protected $visiable = ['name'];//要顯示的字段json

 

3.查詢的時候用distinct,指定要顯示的字段api

XX::distinct([你要顯示的字段]);函數

 

4.查詢的時候在get或first指定要顯示的字段ui

XX::get([你要顯示的字段]);spa

 

2.若是用到了relationship,同時也想輸出relationship的數據:

在查詢語句加上->with('你relationship函數的名字');code

 

3.若是用到了relationship,數據處理的時候會用,但輸出的時候不想輸出XXX_ID:

這個是我本身遇到的問題,由於你取到數據後,不能夠再使用first()等這些builder的方法定義輸出字段,那會從新進行數據庫查詢,能夠考慮blog

 

新建一個子model 

class BoyJson extends \Eloquent {

    protected $table = "boys";
    protected $hidden = ['user_id', 'updated_at'];
   protected $fillable = [ 'id', 'text', 'img_path'];//把你想輸出的字段加上

    public static function extract(Boy $s) {
        $res = new BoyJson();
        $res->fill($s->toArray());
        return $res;
    }

}

這樣的好處是結構清晰,寫起來簡單,可是感受太麻煩了點,哪位大神知道有什麼現場的函數還求指點,找了api文檔沒找到。

P.S.

但願能幫助到誰

本身建的一個羣,但願廣結英豪,尤爲是像我同樣腦子短路不用react硬拼anroid、ios原生想幹點什麼的朋友。

App獨立開發羣 533838427

相關文章
相關標籤/搜索