Laravel-在数据库的列中显示选定的ID

时间:2018-12-12 00:40:10

标签: php mysql laravel phpmyadmin eloquent

我想在编辑页面上的一栏中选择数据库中选定的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个

2 个答案:

答案 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>

尽管我仍然觉得在同一个单元格上拥有这两个值很奇怪。