在laravel中更新没有id的表列

时间:2019-06-01 14:41:50

标签: php laravel laravel-5 laravel-5.2

我想为管理员创建一个页面,该页面仅用于显示数据和更新数据。 我不使用ID在数据库中创建表,因为我不想创建新数据,只希望拥有一个数据,否则它可以更新该数据。

这是我的路线

Route::group(['prefix' => 'admin', 'middleware' => ['web']], function () {
    Route::get('about', 'AboutController@index');
    Route::post('about/update', 'AboutController@update');
});

这是我的模特

public $timestamps = false;
protected $primaryKey = null;
public $incrementing = false;
protected $fillable = ['description'];

这是我的控制器AboutController.php

public function index()
{
    $data = About::first(); 
    return view('config_about.index', compact('data'));
}

public function update(Request $request)
{
    $this->validate($request, [
       'description' => 'required'
    ]);

    $data= About::first()->update($request->all());

    return redirect('admin/about');
}

这是我的表格

{!! Form::open(['url' => 'admin/about/update', 'method' => 'post', 'class' => 'form-horizontal']) !!}
    <div class="form-group {{ $errors->has('description') ? 'has-error' : '' }}">
        <div class="col-md-12">
            {!! Form::textarea('description', $data->description, ['class' => 'form-control']) !!}
            {!! $errors->first('description', '<p class="help-block">:message</p>') !!}
        </div>
    </div>

    <div class="form-group">
        <div class="col-md-2 col-md-offset-0">
            {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!}
        </div>
    </div>
{!! Form::close() !!}

我希望结果可以更新数据,但我得到的错误是此页面无法正常运行localhost当前无法处理此请求。 HTTP错误500

1 个答案:

答案 0 :(得分:0)

    {!! Form::open(['url' => 'admin/about/update', 'method' => 'post', 'class' => 'form-horizontal']) !!}
   {{ csrf_field() }}
        <div class="form-group {{ $errors->has('description') ? 'has-error' : '' }}">
            <div class="col-md-12">
                {!! Form::textarea('description', $data->description, ['class' => 'form-control']) !!}
                {!! $errors->first('description', '<p class="help-block">:message</p>') !!}
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-2 col-md-offset-0">
                {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!}
            </div>
        </div>
    {!! Form::close() !!}