2017-02-28 78 views
0

我开发一个laravel API和成功地做得到,帖子,删除,现在我试图做使用补丁更新方法。Laravel API打补丁方法

这是我第一次尝试:

public function update($id, Request $request) 
{ 
    $taxes = taxes::find($id); 
    $taxes ->fill($request->only(['$request'])); 
    $taxes->save(); 
} 

而且与后续的网址上邮递员测试它

****本地/ API /税收/ 1说明a =试验

这显然不工作,我想我会能够看到错误,但我目前在不同的机器上,但希望有人可以指导我正确的路径,使此更新方法。

不要忘记它的api,没有意见/形式。

谢谢。

回答

0

您必须在Postman中为您的请求指定Body选项卡的x-www-form-urlencoded选项卡中的查询主体(以便更改变量)。

您可以在这里找到截图:http://img11.hostingpics.net/pics/987644Sanstitre1.jpg(等待imgur能回到在线)

您还可以在你的方法的问题,你的代码应该是以下几点:

public function update($id, Request $request) 
{ 
    $taxes = taxes::find($id); 
    $taxes ->fill($request->only(['description', 'anyotherfield', '...'])); 
    $taxes->save(); 
} 
+0

明天我会试试,更新方法对您来说似乎是否正确? – Cyanogen

+0

@Cananogen不完全,我更新了我的答案。 – AntoineB

+0

如果我想更新url中的字段而不是手动将其添加到代码中,该怎么办? – Cyanogen

0

可能是与此行相关:$request->only(['$request']),因为您的请求不太可能有一个名为$request的参数。您可能有意使用$request->all()(所有输入)或$request->only('description', 'etc.'),这些参数将给出参数的白名单。

可能应该给你的模型一个单独的名称,并将其大写。

Tax::findOrFail($id)->update($request->only('description')) 
+0

它的工作原理,如果我想更新url中的字段而不是手动将其添加到代码中呢? – Cyanogen