Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 如何将单选按钮值绑定到模型?拉威尔5.3_Laravel 5 - Fatal编程技术网

Laravel 5 如何将单选按钮值绑定到模型?拉威尔5.3

Laravel 5 如何将单选按钮值绑定到模型?拉威尔5.3,laravel-5,Laravel 5,我有一个带有几个单选按钮的表单 <div class="form-group{{ $errors->has('procurement') ? ' has-error' : '' }} col-md-6"> <label for="procurement" class="col-md-6 control-label">Procurement Type <span class="red">*</span></label><br&

我有一个带有几个单选按钮的表单

<div class="form-group{{ $errors->has('procurement') ? ' has-error' : '' }} col-md-6">
<label for="procurement" class="col-md-6 control-label">Procurement Type <span class="red">*</span></label><br>

<div class="col-md-12">
    <input id="procurement" type="radio" name="procurement" value="owned"> Owned
    <input id="procurement" type="radio" name="procurement" value="rental"> Rental

    @if ($errors->has('procurement'))
        <span class="help-block">
            <strong>{{ $errors->first('procurement') }}</strong>
        </span>
    @endif
</div>
但这不适用于收音机或选择器。我该怎么办?我并没有为此使用窗体facade


谢谢

您可以使用
选择的
选中的
来完成您想要做的事情。只需将其添加到元素的末尾,它就会选择/检查元素

对于
输入
类型
收音机
,类似于此:

<input id="procurement" type="radio" name="procurement" value="owned" {{ old('model') === "owned" ? 'checked' : (isset($vehicle->model) && $vehicle->model === 'owned' ? 'checked' : '') }}> Owned
<input id="procurement" type="radio" name="procurement" value="rental" {{ old('model') === "owned" ? 'checked' : (isset($vehicle->model) && $vehicle->model === 'rental' ? 'checked' : '') }}> Rental
旁注:我建议在填充值时,确保
旧('something')
优先于其他可能的值。例如,你有:

value="{{ isset($vehicle->model) ? $vehicle->model : old('model') }}"

这将在提交失败时用数据库结果(当然,如果有的话)覆盖用户的原始输入。因此,如果我在一个文本字段中更新我的名字,并且表单有错误,它会将我引导回表单并丢失输入,因为数据库结果在
旧值之前。希望这有意义

old('model')==“owned”| |$vehicle->model==“owned”?”所选“:”
?在元素末尾添加所有属性。这将在
选择
列表中选择
选项
,我认为这是您想要的?谢谢您的回复。我不确定我是否完全理解如何实现这一点。您的意思是将其添加到value属性还是单独添加到属性中?我尝试了这个,但没有运气-value=“{{isset($vehicle->采购)?$vehicle->采购:old('procurement')==“owned”| |$vehicle->procurement===“owned”?“selected”:“}”中没有关闭某些内容。Plunker-@RushVan我的答案缺少blade语法
{{}
,但我已经调整了。请注意,您的plunker在
value
属性中仍然有它,不应该是。它应该在元素的所有属性之后,就在它关闭之前。明白了!如果定义了$vehicle,那么这将非常有效。现在我如何添加isset()条件,以便在没有模型的情况下使用表单?现在,如果我不使用编辑,它会抛出一个未定义的变量。我已经更新为包含一个堆叠的三元运算符。如果堆叠太多,维护起来可能会很麻烦,但这仍然是可以管理的。它检查旧值,如果未找到,则确认变量isset,如果未找到则退出。否则,它会检查变量是否等于该值!对不起,我在你发布时发现了错误。谢谢你的解答。
<option value="something" {{ old('model') === "something" ? 'selected' : (isset($vehicle->model) && $vehicle->model === 'owned' ? 'selected: '')}}>Something</option>
value="{{ isset($vehicle->model) ? $vehicle->model : old('model') }}"