Laravel 方法更新记录时不允许出现异常
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpExceptionNomessage 我在尝试更新数据库中的记录时遇到此错误。不知道是什么问题。这个问题可能是重复的,但我检查了所有问题,找不到答案。请帮我做这个 控制器更新方法:Laravel 方法更新记录时不允许出现异常,laravel,Laravel,Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpExceptionNomessage 我在尝试更新数据库中的记录时遇到此错误。不知道是什么问题。这个问题可能是重复的,但我检查了所有问题,找不到答案。请帮我做这个 控制器更新方法: public function updateEvent(Request $request, $id=''){ $name = $request->name; $sta
public function updateEvent(Request $request, $id=''){
$name = $request->name;
$startdate = date_create($request->start_date);
$start_date = $startdate;
$time = $request->start_time;
$start_time = $time;//date("G:i", strtotime($time));
$endDate = date_create($request->end_date);
$end_date =$endDate;
$time_e = $request->end_time;
$end_time = $time_e;//date("G:i", strtotime($time_e));
$location = $request->location;
$description = $request->description;
$calendar_type = $request->calendar_type;
$timezone = $request->timezone;
if ($request->has('isFullDay')) {
$isFullDay = 1;
}else{
$isFullDay = 0;
}
DB::table('events')->where('id', $id)->update(
array(
'name' => $name,
'start_date' => $start_date,
'end_date' => $end_date,
'start_time' => $start_time,
'end_time' => $end_time,
'isFullDay' =>$isFullDay,
'description' => $description,
'calendar_type' => $calendar_type,
'timezone' => $timezone,
'location' => $location,
));
// Event Created and saved to the database
//now we will fetch this events id and store its reminder(if set) to the event_reminder table.
if(!empty($id))
{
if (!empty($request->reminder_type && $request->reminder_number && $request->reminder_duration)) {
DB::table('event_reminders')->where('id', $id)->update([
'event_id' => $id,
'type' => $request->reminder_type,
'number'=> $request->reminder_number,
'duration' => $request->reminder_duration
]);
}
}
else{
DB::table('event_reminders')->insert([
'type' => $request->reminder_type,
'number'=> $request->reminder_number,
'duration' => $request->reminder_duration
]);
}
return redirect()->back();
}
路线:
Route::post('/event/update/{id}', 'EventTasksController@updateEvent');
表单属性:
<form action="/event/update/{{$event->id}}" method="POST">
{{ method_field('PATCH')}}
{{method_字段('PATCH')}
我在我的日历页面中调用了相同的更新函数,它在那里工作得很好。不知道为什么它在这里不起作用。检查路由方法
Route::patch('/event/update/{id}', 'EventTasksController@updateEvent');
补丁应该是在route facade上调用的方法。检查路由方法
Route::patch('/event/update/{id}', 'EventTasksController@updateEvent');
补丁应该是在route facade上调用的方法。将您的路由更改为
补丁
:
Route::patch('/event/update/{id}', 'EventTasksController@updateEvent');
请发表评论:
您可以在单击的元素上通过类似
data method
属性的方式将该方法发送到ajax调用,然后在ajax调用中使用该方法。请参阅此问题/答案以获取帮助 将路线更改为补丁
:
Route::patch('/event/update/{id}', 'EventTasksController@updateEvent');
请发表评论:
您可以在单击的元素上通过类似
data method
属性的方式将该方法发送到ajax调用,然后在ajax调用中使用该方法。请参阅此问题/答案以获取帮助 我知道patch
在这里工作,但是从我的日历页面我通过ajax
进行更新,它的类型是post
,所以更改它会使另一个表单不工作。我知道patch
在这里工作,但是从我的日历页面我通过ajax
进行更新,它的类型是post
,所以更改它使另一个表单不工作。我知道补丁在这里工作,但从我的日历页上看,我正在通过ajax更新它的类型为post,所以更改它会使另一个表单不工作。我知道补丁在这里工作,但从我的日历页上看,我正在通过ajax更新它的类型为post,所以更改它会使另一个表单不工作。看起来您没有使用资源
,您正在定义post
路线。那么,为什么不从刀片服务器中删除{{method\u field('PATCH')}
?您是否尝试将@csrf刀片服务器指令放入您的表单中?您似乎没有使用资源
,而是定义post
路由。那么,为什么不从刀片服务器中删除{{method\u field('PATCH')}
?您是否尝试将@csrf刀片服务器指令放入您的表单中?