1.如果輸出json的時候需要屏蔽某些字段,或則想自定義顯示的字段:
1.model里面設置
protected $hidden = ['password'];//要屏蔽的字段
2.model里面設置
protected $visiable = ['name'];//要顯示的字段
3.查詢的時候用distinct,指定要顯示的字段
XX::distinct([你要顯示的字段]);
4.查詢的時候在get或first指定要顯示的字段
XX::get([你要顯示的字段]);
2.如果用到了relationship,同時也想輸出relationship的數據:
在查詢語句加上->with('你relationship函數的名字');
3.如果用到了relationship,數據處理的時候會用,但輸出的時候不想輸出XXX_ID:
這個是我自己遇到的問題,因為你取到數據后,不可以再使用first()等這些builder的方法定義輸出字段,那會重新進行數據庫查詢,可以考慮
新建一個子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
