2014-01-08 43 views
0

这是我做了一个成功的GET之后发出PUT请求的第一个破解我很兴奋,然后按照教程我得到一个我不太明白的错误。在laravel中发出PUT请求?

以下是错误

"{"error":{"type":"ErrorException","message":"Undefined property: Symfony\\Component\\HttpFoundation\\ParameterBag::$name","file":"C:\\wamp\\www\\basketball-app-framework\\app\\controllers\\PlayersController.php","line":67}}"

我得到它的上线67和财产显然是不确定的,但我也跟着教程,我不知道怎么回事,写这个,或者为什么它的不像教程那样工作。我觉得这可能是因为mod_rewrite,我有一个问题,并且必须在apache配置文件中设置一些东西来创建GET请求,所以我可能需要更改一些东西来创建PUT。

这是PUT数据的代码。

public function update($id) 
{ 
    $input = Input::json(); 
    $player = Player::find($id); 
    $player->name = $input->name; // this is line 67 
    $player->save(); 
} 
再次错误occours与 $player->name = $input->name;

在我的表演方法

当我发送一个GET

public function show($id) 
{ 
    return Player::find($id); 
} 

Player::find($id);明显作品

所以我的更新里面的$player变量不应该是导致在访问name属性时遇到问题,所以我很茫然,希望有人能帮忙这个noob出来了。

谢谢。

回答

1

尝试以下操作:

public function update($id) 
{ 
    $input = Input::all(); 
    $player = Player::find($id); 
    $player->name = $input['name']; 
    $player->save(); 
} 

或者试试这个:

public function update($id) 
{ 
     $player = Player::find($id); 
     $player->name = Input::get('name'); 
     $player->save(); 
} 
+0

哇感谢的人,它的工作我真的不知道怎么办,我可以任何其他方式都想通了这一点。 '$ input ['name']'实际上比'$ input-> name'更有意义。我希望我能给你更多的赞美,但非常感谢你的帮助。祝你有个好的一天! –

+1

只是为了帮助你多一点,我经常使用这个'$ player-> fill(Input :: all())',它可以帮助你将所有属性设置成一行:) – Andreyco

+0

谢谢,此时的所有提示更多比有价值的,我试图得到这个新的流量的挂钩。我花了很长时间学习backbone.js现在我需要掌握这一点。我很感激+1 –