У меня есть простая форма, в которой у пользователя есть опции для выбора нужного поля ввода, поэтому на страницах. Опция выбора выглядит так:
<div class="row">
<label class="col-sm-2 col-form-label">{{ __('Ads Type') }}</label>
<div class="col-sm-7">
<div class="form-group">
<select id="inputStatus" class="form-control" name="ad_type">
<option selected>Please select ad type </option>
<option>InView video Ads</option>
<option>InPage video ads</option>
<option>Sticky video Ads</option>
<option>InPage video ads</option>
<option>InApp video ads</option>
<option>Ad-Enabled Video Player</option>
</select>
</div>
</div>
</div>
Теперь, когда пользователь отправляет данные, я отображаю их в pages.index, теперь я хотел бы, чтобы пользователь мог редактировать эти параметры
Вот мой контроллер
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Setting;
class SettingController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$settings = Setting::all();
return view('pages.settings.index', compact('settings'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$setting = Setting::all();
return view('pages.settings.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$setting = Setting::create([
'domain_url' => $request->get('domain_url'),
'tag_url' => $request->get('tag_url'),
'ad_type' => $request->get('ad_type'),
'video_format' => $request->get('video_format'),
]);
// dd($request);
$setting->save();
return redirect("/settings")->with("sucess", "data saved");
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$settings = Setting::find($id);
return view('pages.settings.edit', compact('settings'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$settings = Setting::find($id);
$settings->domain_url = $request->get('domain_url');
$settings->tag_url = $request->get('tag_url');
$settings->ad_type = $request->get('ad_type');
$settings->video_format = $request->get('video_format');
$settings->save();
return redirect("/settings")->with("success", "Data updated");
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$settings = Setting::find($id);
$settings->delete();
return redirect("/settings")->with("sucess", "data updated");
}
}
Теперь в моих pages.edit у меня есть это
<div class="row">
<label class="col-sm-2 col-form-label">{{ __('Ads Type') }}</label>
<div class="col-sm-7">
<div class="form-group">
<select id="inputStatus" class="form-control" name="ad_type">
<option value="{{$settings->domain_url}}" {{ old('domain_url') == 1 ? 'selected' : '' }}>
<option value="{{$settings->tag_url}}" {{ old('tag_url') == 1 ? 'selected' : '' }}>
<option value="{{$settings->ad_type}}" {{ old('ad_type') == 1 ? 'selected' : '' }}>
<option value="{{$settings->video_format}}" {{ old('video_format') == 1 ? 'selected' : '' }}>
</select>
</div>
</div>
</div>
Теперь, когда я нажимаю "Изменить", отображается пустой ввод, что я делаю не так с моим кодом?