所以我正在构建一个应用程序来监控任务/工作。每个作业都有一个状态,默认值为“1”。如果已完成,用户将单击一个按钮,将状态更改为“2”,表示已完成。但是,到目前为止我还没有成功,我需要你的帮助。
到目前为止,这就是我所做的
按钮链接:
<p>
{{ link_to('job/detail/' . $job->id, 'Finish Task', ['class' => 'btn btn-primary btn-lg']) }}
</p>
控制器:
public function finish($id)
{
$job = Job::findOrFail($id);
$job->update(['status' => '2']);
}
最后,我的路线,我最大的疑问。因为我可能有两条相互冲突的路线
Route::get('job/detail/{job}', 'JobController@show');
Route::put('job/detail/{job}', 'JobController@finish');
我没有使用任何表单,我想直接点击按钮进行更新。这可能吗?
感谢您的回答
答案 0 :(得分:0)
试试这个,尝试更改网址,这样可行。试着告诉
#include<stdio.h>
#include<conio.h>
void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
int partition (int arr[], int low, int high)
{
int pivot = arr[high];
int i = (low - 1);
for (int j = low; j <= high- 1; j++)
{
if (arr[j] <= pivot)
{
i++; // increment index of smaller element
swap(&arr[i], &arr[j]);
}
}
swap(&arr[i + 1], &arr[high]);
return (i + 1);
}
/*
arr[] --> Array to be sorted,
low --> Starting index,
high --> Ending index */
void quickSort(int arr[], int low, int high)
{
if (low < high)
{
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
void printArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
}
void main()
{
clrscr();
int arr[100], n,i;
printf("Enter the size of array:\n");
scanf("%d",&n);
printf("Enter your Array List:\n");
for (i=0;i<n;i++)
scanf("%d",&arr[i]);
quickSort(arr, 0, n-1);
printf("Sorted array: ");
printArray(arr, n);
getch();
}
答案 1 :(得分:0)
如果你想让它更安全,你应该像你一样使用PUT方法:
Route::put('job/detail/{job}/finished', 'JobController@finish');
/*********/
public function finish(Request $request,Job $job){
$this->validate($request,[
'status'=>'required|in:2'
]);
$job->update(['status'=>$request->only('status')]);
}
/*********/
<form action="/job/detail/{{$job->id}}/finished" method="POST">
{{csrf_field()}}
<input type="hidden" name="_method" value="PUT"></input>
<input type="hidden" name="status" value="2"></input>
<button type="submit" class="btn btn-primary">Change Staus</button>
</form>
不使用表格:
Route::get('job/detail/{job}/finished', 'JobController@finish');
/*********/
public function finish(Job $job){
$job->update(['status'=>2);
}
/*********/
<a href="/job/detail/{{$job->id}}/finished" class="btn btn-primary">Change Status</a>
正如您所见,我已在链接末尾添加完成,因为它可能与您的其他获取路径冲突。