在我编辑并刷新页面几次或关闭并打开浏览器后,数据变为空。
我在控制器中使用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
我只想使数据永久保存
答案 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>]);
这是您要更新其值的列名。 是您要设置为输入的所需列的值。