Мой проект требует, чтобы администратор одобрил элемент, загруженный пользователем, для того, чтобы этот элемент был виден на веб-сайте как своего рода проверка или что-то вроде того, чтобы держать все под контролем. поэтому в таблице Item у меня есть поле с именем (status) и значением по умолчанию = (запрещено).
$table->enum('status',['available','denied'])->default('denied');
Администратор видит все элементы, и мне нужна кнопка рядом чтобы каждый элемент называется утверждать, если администратор щелкает по нему изменение состояния с отклоненного на утвержденное, как я могу создать в контроллере функцию, которая изменяет только поле состояния? одна, кроме функции редактирования и обновления по умолчанию, которая уже работает в моем контроллере.
public function edit($itemid)
{
$where = array('itemid' => $itemid);
$data['item_info'] = Item::where($where)->first();
return view('items.edititem', $data);
}
public function update(Request $request, $itemid)
{
$request->validate([
'name' => 'required',
'description' => 'required',
'state' => 'required',
'price' => 'required',
'charityfee' => 'required',
'status' => 'required',
'category' => 'required',
]);
$update = [
'name' => $request->name, 'description' => $request->description,
'state' => $request->state, 'price' => $request->price,
'charityfee' => $request->charityfee, 'status' => $request->status,
'category' => $request->category, 'itemphoto' => $request->itemphoto
];
Item::where('itemid', $itemid)->update($update);
return Redirect::to('profile')
->with('success', 'Great! item updated successfully');
}
Несмотря на то, что я попробовал этот следующий код, возникла ошибка, что вызванная мною функция не определена: (
public function editstatus($itemid)
{
Item::where('itemid', $itemid)->update(array('itemid' => 'available'));
}
функция в контроллере
<td><a href="{{ route('items.editstatus',$item->itemid)}}" class="btn btn-primary">approve</a></td>
код в представлении