我用这个命令php artisan make:model BuildingOnRent -mcr
创建了我的模型,它创建了控制器和资源。
在我的web.php
中,我像这样传递资源路由
我的web.php
Route::resource('br', BuildingOnRentController::class);
字符串
在Laravel自己搭建的控制器中,我在update函数下添加了这样的代码。
我的控制器
public function update(Request $request, BuildingOnRent $br)
{
echo $br;
$request->validate([
'purpose'=>'required',
'rooms'=>'required',
'bathrooms'=>'required',
'parlour'=>'required',
'rent_period'=>'required',
'cost'=>'required',
'city'=>'required',
'state'=>'required',
'locate'=>'required',
]);
dd($br);
$br->update($request->all());
return redirect()->route('br.index')->with('success','Property updated successfully');
}
型
我的edit.blade表单操作
<form action="{{ route('br.update',['br'=>$br]) }}" enctype="multipart/form-data">
@csrf
@method('PUT')
// some html codes here
</form>
型
当我在edit.blade
中填写并提交表单时,触发了控制器中的更新功能,我被重定向到路由br.index
,但没有任何更新。事实上,更新代码甚至没有运行,因为我试图echo $br
和dd($br)
,但没有任何回应或转储。我认为更新代码根本没有运行。
为什么更新代码块不运行?
我怎么才能让它跑起来?
我用的是Laravel 10。请帮帮忙。
1条答案
按热度按时间huus2vyu1#
因为你已经创建了一个资源,为了更新,你必须从表单传递
PATCH
或PUT
方法。route:list给予something like below
字符串
形式:
型