我无法理解为什么,但是数据库中的记录没有更新...即使在save()方法之后,如果转储对象,所有数据都会到达,然后表单中的数据被正确存储,并且数据库本身没有变化,除了它不是第一个更新数据的方法,使得商店使用相同的方法和一切工作,即使在这个项目中类别编辑方法也可以工作。这是实际的方法:
public function UpdateCountry(Request $request)
{
$Countries = Countries::where('Id', $request->get('Id'))->first();
$Countries->Country = $request->get('Country');
$Countries->Continent = $request->get('Continent');
$Countries->Class = $request->get('Class');
$Countries->save();
return back()->with('status', 'Updated success!');
}
模型可填写:
protected $fillable = ['Id', 'Country', 'Class', 'Continent'];
使用此方法的路线:
Route::get('country/editor/edit/{Id}','AdminController@EditCountry')->name('EditCountry');
Route::post('country/editor/save','AdminController@UpdateCountry')->name('UpdateCountry');
用于编辑有效类别的类似方法。
public function UpdateCat(Request $request) {
$data = $request->all();
$Category = Categories::find($data['id']);
$Category->Category = $data['Category'];
$Category->save();
return back()->with('status', 'Updated success');
}
查看:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card card-default">
<div class="card-header">Dashboard</div>
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
<div class="container">
<form action="{{route('UpdateCountry')}}" method="post">
@foreach($Country as $item)
<div class="form-group">
<label for="Country">Country</label>
<input type="hidden" value="{!! $item->Id !!}" name="Id" id="Id">
<input type="text" class="form-control" id="Country" name="Country" value="{{$item->Country}}" required>
</div>
<div class="form-group">
<label for="Continent">Continent</label>
<input type="text" class="form-control" id="Continent" name="Continent" value="{{$item->Continent}}" required>
</div>
@endforeach
<input type="hidden" id="Class" name="Class" value="flag flag-default">
<button type="submit" class="btn btn-success">Save</button>
{{csrf_field()}}
</form>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
答案 0 :(得分:0)
嗯,我解决了这个问题,事实证明这很简单。在模型中,有必要简单地指出:
protected $primaryKey = ['Id'];
但我想不出因为这会有问题。