【发布时间】:2020-05-27 19:49:39
【问题描述】:
我有一个简单的表单,用户可以在其中选择所需的输入字段,因此 pages.create 选择选项看起来像这样
<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>
现在当我点击编辑时,它显示空输入,我的代码做错了什么?
【问题讨论】:
-
你能添加完整的控制器/刀片代码吗?
-
@FouedMOUSSI 检查更新
-
你确定
$settings不为空吗? -
请考虑更严格,将
find改为findOrFail($id)
标签: php html laravel laravel-blade