如何在 laravel 的编辑表单中绑定来自数据库的单选按钮值?
How to bind radio button values from database in edit form in laravel?
我已经为创建 create.balde.php 和编辑 创建了一个表单 from.blade.php edit.blade.php。我正在使用该表单执行这两个操作,但我在检索数据和为单选按钮显示数据时遇到问题。知道当我去创建操作时,单选按钮将是默认的。
这种形式:
<div class="form-group">
<div class="form-check form-check-radio">
<label class="form-check-label">
{{-- {{ ($news->status=="1")? "checked" : "" }} --}}
<input class="form-check-input" {{ $page->status == '1' ? 'checked' : '' }} type="radio" name="status"
id="exampleRadios1" value="0" checked>
Status is off
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" {{ $page->status == '1' ? 'checked' : '' }} name="status"
id="exampleRadios2" value="1">
Status is on
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
</div>
这个 {{ $page->status == '1' ? 'checked' : '' }}
可以很好地编辑
但是当我转到 create.blade.php 时,出现此错误:
Undefined variable: page (View:
C:\Users\PC\Desktop\khaleej_aden\resources\views\pages\includes\form.blade.php)
(View:
C:\Users\PC\Desktop\khaleej_aden\resources\views\pages\includes\form.blade.php)
但是如果我删除了这些行,create.blade.php 就可以完美运行。
那么我可以在 {{ $page->status == '1' ? 'checked' : '' }}
中更改什么以使其适用于创建和更新?
最简单且不那么丑陋的方法是将一个空的 Page 实例从您的控制器传递到页面,如下所示:
$page = new Page;
return view('create', compact('page'));
这样您就可以避免每次要在视图中使用页面变量时进行检查。
您也可以更改代码以在检查状态之前检查对象
{{ (isset($page->status) && $page->status == '1') ? 'checked' : '' }}
我已经为创建 create.balde.php 和编辑 创建了一个表单 from.blade.php edit.blade.php。我正在使用该表单执行这两个操作,但我在检索数据和为单选按钮显示数据时遇到问题。知道当我去创建操作时,单选按钮将是默认的。
这种形式:
<div class="form-group">
<div class="form-check form-check-radio">
<label class="form-check-label">
{{-- {{ ($news->status=="1")? "checked" : "" }} --}}
<input class="form-check-input" {{ $page->status == '1' ? 'checked' : '' }} type="radio" name="status"
id="exampleRadios1" value="0" checked>
Status is off
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
<div class="form-check form-check-radio">
<label class="form-check-label">
<input class="form-check-input" type="radio" {{ $page->status == '1' ? 'checked' : '' }} name="status"
id="exampleRadios2" value="1">
Status is on
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
</div>
这个 {{ $page->status == '1' ? 'checked' : '' }}
可以很好地编辑
但是当我转到 create.blade.php 时,出现此错误:
Undefined variable: page (View: C:\Users\PC\Desktop\khaleej_aden\resources\views\pages\includes\form.blade.php) (View: C:\Users\PC\Desktop\khaleej_aden\resources\views\pages\includes\form.blade.php)
但是如果我删除了这些行,create.blade.php 就可以完美运行。
那么我可以在 {{ $page->status == '1' ? 'checked' : '' }}
中更改什么以使其适用于创建和更新?
最简单且不那么丑陋的方法是将一个空的 Page 实例从您的控制器传递到页面,如下所示:
$page = new Page;
return view('create', compact('page'));
这样您就可以避免每次要在视图中使用页面变量时进行检查。
您也可以更改代码以在检查状态之前检查对象
{{ (isset($page->status) && $page->status == '1') ? 'checked' : '' }}