【发布时间】:2021-05-04 19:11:53
【问题描述】:
问题是,它不仅仅是一个变量,而是带有@if、@isset 和@foreach 指令的语句。如果没有语法错误,我无法删除空格。所有这些空格都显示在输入字段中。
在描述字段中我这样做了:
-
检查
old('description')是否存在。 -
如果是,显示它。
-
如果不存在,则检查变量
$post是否存在(我将此表单用于存储和更新方法)。 -
如果是,显示它。
-
如果不是,该字段保持为空。
<div class="form-group"> <label for="description">Description</label> <textarea id="description" name="description" rows="3">@if(old('description')){{ old('description') }}@else @isset ($post){{$post->description}}@endisset @endif</textarea><div class="form-group"> <label for="tags">Tags</label> <input type="text" name="tags" id="tags" value="@isset ($post, $tags)@foreach($post->tagged as $tagged){{$tagged->tag_name}},@endforeach @endisset">
我尝试了包 hedronium/spaceless-blade,但它不适用于输入值。
【问题讨论】:
-
ErrorException Unparenthesized
a ? b : c ? d : e已弃用。使用(a ? b : c) ? d : e或a ? b : (c ? d : e) -
再试一次
isset(old('description')) ? old('description') : isset($post) ? $post->description : NULL; -
"isset 仅适用于变量和数组"。我将
isset(old('description'))更改为old('description')并得到与上述相同的错误。 -
old('description', $post->description ?? null)或old('description', optional($post)->description)应该可以工作 -
@lagbox 首先适用于这两种方法,其次 - 仅适用于
update,不适用于store。谢谢!
标签: laravel laravel-blade laravel-8