Laravel-如何更新两个值

时间:2019-01-09 09:07:26

标签: php sql laravel laravel-5

我想更新数据中的两个值,我想将第一个值更新为一个int值,另一个是字符串。

表结构

enter image description here

这是我的输入,值aircraft_id是第一个要更新的值,另一个是aircraft_refistration_number

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

    <option value="{{ $aircraft->aircraft_id }}">{{ $aircraft->aircraft_registration_number }}</option>

       @endforeach
  </select>

这是我的桌子

enter image description here

在这里我更新必须为字符串的registered_company_name,但是输出为aircraft_id

$txtDescript = $request->input('aircraft_id');

  $aircraft = DB::table('settings')
  ->where('id', 4)
  ->update(['description' => $txtDescript]);

这是aircraft_id,应为int或id

  $airid = $request->input('aircraft_id');

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

这很完美

这是我的问题

的输出

enter image description here

鉴于,它应该类似于此输出,正确

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以采用更长的格式,

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

    <option value="{{ $aircraft->aircraft_id }}">{{ $aircraft->aircraft_registration_number }}</option>
       @endforeach
  </select>
<input type="hidden" name="aircraft_name" id="aircraft_name" value="">

像这样使用jquery设置隐藏字段的值

$(document).ready(function(){
$(document).on('change','.airselect',function(){
$selected=$( "#airselect option:selected" ).text();
$('#aircraft_name').val($selected);
});
});

然后像这样调整您的控制器

$txtDescript = $request->input('aircraft_name');
$aircraft = DB::table('settings')
  ->where('id', 4)
  ->update(['
description' => $txtDescript]);

$airid = $request->input('aircraft_id');

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

尝试一下,让我从你这里来,我没有测试代码