我正在尝试编写laravel的编辑路径,并且出于某种原因不断收到错误"尝试获取非对象laravel的属性"。 Create控制器工作正常,但是当我使用controller @ update route时,我不断收到此错误
我的控制器用于添加事件:(更新)
public function update(Request $request, $id)
{
//create event
$my_user = my::find($id);
$my_user->programme = $request->input('programme');
$my_user->goal1 = $request->input('goal1');
$my_user->goal2 = $request->input('goal2');
$my_user->goal3 = $request->input('goal3');
$my_user->goal4 = $request->input('goal4');
$my_user->goal5 = $request->input('goal5');
$my_user->user_id = auth()->user()->id;
$my_user->save();
return redirect('/home')->with('success','Event Created');
}
编辑页面
@extends('layouts.app')
@section('content')
<div class="container">
<h1>Edit Post</h1>
{!! Form::open(['action' => ['myUserController@update', $my_user], 'method' => 'POST']) !!}
<div class="form-group">
{{Form::label('title', 'Event Name')}}
{{Form::text('goal1', $my_user->goal1, ['class' => 'form-control', 'placeholder' => 'Goal One'])}}
</div>
{{Form::hidden('_method','PUT')}}
{{Form::submit('Submit', ['class'=>'btn btn-primary'])}}
{!! Form::close() !!}
</div>
@endsection
答案 0 :(得分:0)
鉴于您正在使用Route :: resource,您可以通过编写类似
的内容来键入提示您的参数public function update(Request $request, MyUser $myuser){
// The $myuser parameter comes from the Route::resource and can be verified using php artisan route:list in your terminal
// edit $my_user
$my_user->save();
return redirect('/home')->with('success','Event Created');
}
在审核了表单
的LaravelCollective文档后进行了更新感谢您Sohel0415提及您不需要调用$ my_user-&gt; id来提供带有表单外观的路由参数。
答案 1 :(得分:0)
您可以在代码中使用此方法:
{{ Form::open(array('url'=>'admin/users/store' , 'method' =>'POST')) }}
并且您的路由在web.php文件中通过此方法定义:
Route::post('users/store', 'admin\UserController@store');