Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维更新路线_Php_Laravel_Laravel 5_Laravel 5.3 - Fatal编程技术网

Php 拉维更新路线

Php 拉维更新路线,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,Laravel新手,我想在Laravel中创建一个更新路由,不需要资源控制器。 我有编辑的路线 Route::get('/indexedit','PagesController@indexedit')->middleware('user'); 在这里,有一个表格,上面写着 <form class="col s12" method="POST" action="indexedit/{{ $val->id }}" > {{ method_field('PUT') }} {{

Laravel新手,我想在Laravel中创建一个更新路由,不需要资源控制器。 我有编辑的路线

Route::get('/indexedit','PagesController@indexedit')->middleware('user');
在这里,有一个表格,上面写着

<form class="col s12" method="POST" action="indexedit/{{ $val->id }}" >
{{ method_field('PUT') }}
{{ csrf_field() }}

但当我提交时,它说找不到路线。RouteCollection.php第161行中的NotFoundHttpException:

首先,在路由()中不需要$sign:

其次,我将在url()方法中包装动作url,以防万一:

<form class="col s12" method="POST" action="{{ url('indexedit/ ' . $val->id }}" >

您应该使用
put
from update rote,而不是
post

这不好:

Route::post('indexedit/{id}', 'PagesController@update');
使用以下命令:

Route::put('indexedit/{id}', 'PagesController@update');

路由::any('/indexedit/{id}','PagesController@update'); 试试看..刚刚试过,返回相同的结果。错误是路由中的$符号,但我也会使用url()方法。是的,我知道,但我认为用这个方法包装所有url是一个好做法:)为什么要使用put not post进行更新?我正在学习拉威尔,不确定其推理。
Route::post('indexedit/{id}', 'PagesController@update');
Route::put('indexedit/{id}', 'PagesController@update');