I want to select the selected id or data in my database in a column on my edit page. How can I do it? So far, I have done this code but it is giving me an error.
This is my controller
public function index($id)
{
$setting = Setting::find($id);
return view('admin.settings.edit', compact('setting'));
}
This is my view
{!! 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() !!}
What I have in my one column settings_code
[1]FLIGHT_NO, [2]AILINE_NAME
My error is :
Too few arguments to function SettingsController::index(), 0 passed and exactly 1 expected
Not really a Laravel user but I think you need to pre-define that $id with something default it to null then call Setting::find() if there is a valid value on the variable.
if i understand the problem correctly: if the value is separated by comma, try this:
@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>
though i still find it weird having this two values on a same cell.