不要更新数据库Laravel

时间:2018-03-14 19:55:11

标签: database laravel

我无法理解为什么,但是数据库中的记录没有更新...即使在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

1 个答案:

答案 0 :(得分:0)

嗯,我解决了这个问题,事实证明这很简单。在模型中,有必要简单地指出:

protected $primaryKey = ['Id'];

但我想不出因为这会有问题。