根据Route返回不同​​的字段

时间:2014-07-21 16:16:38

标签: laravel laravel-4 eloquent laravel-routing

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"列,仅适用于此特定路线

这可能吗?

1 个答案:

答案 0 :(得分:0)

小心Laravel使用guardedfillable(相反)来防止质量分配漏洞,并hidden从集合结果中隐藏password等字段。< / p>

作为一般经验法则,对于大多数模型使用此guarded属性:

protected $guarded = ['id', 'created_at', 'updated_at'];

现在只调用特定列:

$alert = Alert::select('id', 'lat', 'lon')->first();

return View::make('myview', compact('alert'));