我想使用此表单更新我的数据,但是我收到错误:
public function update($id)
{
$dosenUpdate = Request::all();
$dosen = Dosen::find($id);
$dosen->update($dosenUpdate);
return redirect('dosen')->with('message', 'Data berhasil dirubah!');
}
public function status()
{
$dosen = \App\Dosen::paginate(5);
return view('dosen.status', compact('dosen'));
}
我的路线:
Route::get('/dosen/status', 'DosenController@status');
我的观点:
{!! Form::model($dosen, ['route' => ['dosen.update', $dosen->id] !!}
{!! Form::hidden('_method', 'PUT') !!}
{!! Form::select('status', array('1' => 'Ready', '0' => 'Not Ready'), null, ['placeholder' => 'Pilih Status'], ['class' => 'form-control'], ['placeholder' => 'Pilih Status']) !!}
{{ Form::button('<i class="fa fa-check-square-o"></i> Save', ['type' => 'submit', 'class' => 'btn btn-primary'] ) }}
{!! Form::close() !!}
错误回复:
Undefined property: Illuminate\Pagination\LengthAwarePaginator::$id (View:
D:\XAMPP\htdocs\infodosen\resources\views\dosen\status.blade.php)
我该如何解决这个问题?
答案 0 :(得分:1)
你是从一组对象(LengthAwarePaginator)获取属性的三重奏。
要在视图中获取模型Dosen的ID,您必须迭代集合。
这样的事情:
@foreach($dosen as $d)
{!! Form::model($d, ['route' => ['dosen.update', $d->id] !!}
{!! Form::hidden('_method', 'PUT') !!}
{!! Form::select('status', array('1' => 'Ready', '0' => 'Not Ready'), null, ['placeholder' => 'Pilih Status'], ['class' => 'form-control'], ['placeholder' => 'Pilih Status']) !!}
{{ Form::button('<i class="fa fa-check-square-o"></i> Save', ['type' => 'submit', 'class' => 'btn btn-primary'] ) }}
{!! Form::close() !!}
@endforeach
如果出现TokenMismatch错误,请务必在Route组中包含名为“web”的中间件。
例如:
Route::group(['middleware' => ['web']], function () {
//put your routes here
}
这也会考虑在您的视图中未设置$ error变量的错误