如果有辦法限制toJson方法返回的字段? 我可能會打電話給json說和索引,我只想要幾列,然後在另一頁上我可能想返回更多的字段,所以單個toJson覆蓋不會削減它。Laravel - 在toJson中選擇字段
也許像
toJson(['id', 'name']);
所以別的地方我可以做
toJson(['id', 'name', 'address']);
,或是否有更好的辦法?
如果有辦法限制toJson方法返回的字段? 我可能會打電話給json說和索引,我只想要幾列,然後在另一頁上我可能想返回更多的字段,所以單個toJson覆蓋不會削減它。Laravel - 在toJson中選擇字段
也許像
toJson(['id', 'name']);
所以別的地方我可以做
toJson(['id', 'name', 'address']);
,或是否有更好的辦法?
它看起來像你正在從你的應用程序的不同頁面單獨訪問數據庫。如果是的話,而不是重寫toJson()
,你也可以這樣做,你可以只提供一列get()
或all()
方法的列。
YourModel::all(['id', 'name'])->toJson();
YourModel::where('age', '<', '65')->get(['id', 'name'])->toJson();
和另一頁你怎麼稱呼它
YourModel::all(['id', 'name', 'address'])->toJson();
YourModel::orderBy('id', 'desc')->get(['id', 'name', 'address'])->toJson();
Laravel包括現在這樣:
protected $visible = array('first_name', 'last_name');
或
protected $hidden = array('password');
這對於指定者白名單/黑名單toJson
http://laravel.com/docs/4.2/eloquent#converting-to-arrays-or-json