从编辑到更新如何在它们之间进行链接?

时间:2017-03-06 11:25:30

标签: php laravel-5.4

我试图从我的编辑页面进入我的更新页面,但文档中没有任何内容可以解释如何路由到它。这是我的编辑页面上的表单:

/*
Or method="PUT"
*/
<form method="PATCH" action="../{{$id}}">
{{ method_field('PUT') }}
<input type="submit" value="edit"/>
</form>

我的路线被宣布为资源控制器:

Routes::resource('/','TestController',['parameters' => [
    '' => 'test'
]]);

在我的控制器中我只有:

public function update(Request $request, Test $test){
    return 'test';
}

在尝试以多种方式访问​​更新操作时,它只是给了我不同的错误。

我试过:{{route($id)}}给了我:

  

路线1未定义

资源文档告诉我,url应该是这样的:

PUT/PATCH   /photos/{photo} 

我不了解laravel中的资源控制器的路由,并且没有太多可以找到它。我甚至试图从/{{$id}}/edit那样简单地回到../{{$id}}这样:Struct但这只是让我参加了show动作(因为show和update显然有相同的url)而且我也认为这不是最好的从控制器访问动作的方法。

2 个答案:

答案 0 :(得分:0)

尝试将表单开始标记更改为:

<form method="POST" action="{{ url($id) }}">
    {{ csrf_field() }}
    {{ method_field('PUT') }}

希望这有帮助!

答案 1 :(得分:0)

对于资源路由,您可以在控制器中使用以下方法。 指数

public function index()
    {
        return view();
    }

创建

public function create()
    {
        //
    }

商店

public function store(Request $request)
    {
        //
    }

显示

public function show($id)
    {
        //
    }

修改

public function edit($id)
    {
        //
    }

更新

public function update(Request $request, $id)
    {
        //
    }

破坏

public function destroy($id)
    {
        //
    }

使用php artisan创建您的控制器。然后这些资源方法将自动创建。