我想在编辑页面上的一栏中选择数据库中选定的ID或数据。我该怎么做?到目前为止,我已经完成了这段代码,但是它给了我一个错误。
这是我的控制人
public function index($id)
{
$setting = Setting::find($id);
return view('admin.settings.edit', compact('setting'));
}
这是我的观点
{!! Form::open(['action' => ['Admin\SettingsController@update', $setting->id], 'method' => 'POST']) !!}
<div class="col-md-4 col-sm-4 ">
{{Form::label('air_code', 'Airline Code')}}<br>
{{Form::text('air_code', $setting->settings_code[1], ['class' => 'form-control', 'placeholder' => 'Enter Air Code', 'id'=>'aircode','disabled'])}}
</div>
<div class="col-md-4 col-sm-4 ">
{{Form::label('Flight_No', 'Flight No.')}}<br>
{{Form::text('Flight_No', $setting->settings_code[2], ['class' => 'form-control', 'placeholder' => 'Enter a Flight Number', 'id'=>'flightno','disabled'])}}
</div>
{!! Form::close() !!}
我的一栏中的内容settings_code
[1] FLIGHT_NO,[2] AILINE_NAME
我的错误是:
SettingsController :: index()函数的参数太少,传递了0个且恰好期望1个
答案 0 :(得分:0)
并不是Laravel用户,但我认为您需要使用$ id对其进行预定义,并将其默认设置为null,然后在变量上存在有效值的情况下调用Setting :: find()。
答案 1 :(得分:0)
如果我正确理解问题: 如果该值用逗号分隔,请尝试以下操作:
@php
$settings_code = explode(",", $setting->settings_code);
@endphp
<div class="col-md-4 col-sm-4 ">
{{Form::label('air_code', 'Airline Code')}}<br>
{{Form::text('air_code', $settings_code[0], ['class' => 'form-control', 'placeholder' => 'Enter Air Code', 'id'=>'aircode','disabled'])}}
</div>
<div class="col-md-4 col-sm-4 ">
{{Form::label('Flight_No', 'Flight No.')}}<br>
{{Form::text('Flight_No', $settings_code[1], ['class' => 'form-control', 'placeholder' => 'Enter a Flight Number', 'id'=>'flightno','disabled'])}}
</div>
尽管我仍然觉得在同一个单元格上拥有这两个值很奇怪。