在laravel中发出PUT请求?

时间:2014-01-08 05:45:00

标签: php laravel

这是我第一次提出PUT请求,在成功获得GET之后我很兴奋然后按照教程我得到了一个我不太了解的错误。

这是错误

"{"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();
}

再次出现错误$player->name = $input->name;

我发送GET时的show方法

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

Player::find($id);显然有效

所以我的更新中的$player变量不应该导致访问name属性的问题,所以我不知所措,希望有人可以帮助这个菜鸟。

感谢。

1 个答案:

答案 0 :(得分: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();
}