我想更改要完成的任务的状态。我在数据库中有一个status_id列,1等于complete。我希望单击按钮将状态ID更改为1
我的路线
Route::patch('/tasks/completed/{Task}', 'TasksController@completedUpdate')->name('completedUpdate');
我的按钮
<form action="{{ route('completedUpdate', $task->id) }}" method="POST">
{{ csrf_field() }}
{{ method_field('PATCH') }}
<button type="submit" class="button is-inverted" style="margin-top: 10px;">Mark Complete</button>
</form>
我的控制器
public function completedUpdate(Request $request, $task)
{
$task->status_id = $request->status_id;
$task->save;
return redirect()->back()->with('message', 'task marked complete');
}
它给我的错误是:
试图分配非对象的属性
如果需要更多信息请告诉我
最佳答案
你应该改变:
public function completedUpdate(Request $request, $task)
{
$task->status_id = $request->status_id;
$task->save;
return redirect()->back()->with('message', 'task marked complete');
}
进入:
public function completedUpdate(Request $request, Task $task)
{
$task->status_id = $request->status_id;
$task->save();
return redirect()->back()->with('message', 'task marked complete');
}
因此,您需要输入$task变量的提示类型,并使用
save()
方法而不是save
属性。也可能代替:
/tasks/completed/{Task}
您应该使用:
/tasks/completed/{task}