刷新或关闭浏览器后数据消失了-Laravel

时间:2019-01-08 03:16:14

标签: php sql laravel laravel-5

在我编辑并刷新页面几次或关闭并打开浏览器后,数据变为空。

我在控制器中使用db

use DB;

这是我的视图

    {!! Form::open(['action' => ['Admin\SettingsController@index'], 'method' => 'POST']) !!}

            <select name="aircraft_id" class="form-control" id="">
              <option value="0" disabled="true" selected="true"> Select </option>
              @foreach ($aircrafts as $aircraft)
                  <option name="aircraft_id" value="{{ $aircraft->aircraft_id }}">{{ $aircraft->aircraft_registration_number }}</option>
              @endforeach
            </select>

            <br>

            {{Form::hidden('_method', 'PUT')}}
            {{Form::submit('BIND', ['class'=>'btn btn-primary btn-block btn-lg', 'name'=>'submit'])}}

                  {!! Form::close() !!}

我的控制器

 $airid = $request->input('aircraft_id');   <------ used to call textbox

     $aircraft = DB::table('series')   <----------update my data
      ->update(['aircraft_id' => $airid]);

因此,在运行和更新所有这些代码之后,我可以设法更新数据,但正如我在刷新,关闭和重新打开或可能关闭或刷新浏览器的任何方式后所说的那样,数据是{{1} } nad NULL

我只想使数据永久保存

2 个答案:

答案 0 :(得分:0)

我不了解Laravel,但是在查看有关数据库更新的文档时,您似乎需要在where之前输入update语句。在某些数据库中,当您忘记where时,表中的所有条目都会更新为传递的值。

此外,在HTML中,只有select元素具有name属性。 option元素不应包含name

答案 1 :(得分:0)

 $airid = $request->input('aircraft_id');   <------ used to call textbox

 $aircraft = DB::table('series')   <----------update my data
  ->update(['aircraft_id' => $airid]);

=>似乎您正在尝试将所有'aircraft_id'更新为$ airid中传递的值。当列定义为Primary_Key或定义为唯一时,这可能是错误的。因此,您所需要做的就是:

DB::table('series')
        ->where('aircraft_id', $airid)
        ->update(<column_name> => <value>]);

这是您要更新其值的列名。       是您要设置为输入的所需列的值。