Laravel提供"守卫"模型中的变量用于隐藏JSON中的某些字段,但我想知道如何仅返回某些路径的某些字段。例如,而不是返回
Alert::where('alert_id', $id)->first();
转储所有不在"守卫"数组,例如:
id: 139
alert_id: "8336f6d2-e191-4014-9316-2c7c93e3ada2"
status: "notified"
member_id: 16
organization_id: 1
type: "timer"
minutes: 20
lat: "45.86"
lon: "-90.11"
address: "US Highway for Road 519, Chequamegon National Forest, Park Falls, WI 54552, USA"
phone: ""
created_at: "2014-07-16 14:29:07"
updated_at: "2014-07-21 11:08:01"
user_id: 0
我希望能够指定,只返回" lat"和" lon"列,仅适用于此特定路线。
这可能吗?
答案 0 :(得分:0)
小心Laravel使用guarded
或fillable
(相反)来防止质量分配漏洞,并hidden
从集合结果中隐藏password
等字段。< / p>
作为一般经验法则,对于大多数模型使用此guarded
属性:
protected $guarded = ['id', 'created_at', 'updated_at'];
现在只调用特定列:
$alert = Alert::select('id', 'lat', 'lon')->first();
return View::make('myview', compact('alert'));