嗨,我被此错误消息困扰。我尝试用括号将其封装,但在此特定行上仍然出现错误。
<div class="form-group">
{!! Form::label('parent_id','Parent') !!}
{!! General::selectMultiLevel('parent_id', $categories, ['class' => 'form-control', 'selected' => !empty(old('parent_id')) ? old('parent_id') : !empty($category['parent_id']) ? $category['parent_id'] : '', 'placeholder'=>'---Chose Category---' ]) !!}
答案 0 :(得分:1)
使用old('parent_id') ?? $category['parent_id'] ?? ''
{!! General::selectMultiLevel('parent_id', $categories, ['class' => 'form-control', 'selected' => old('parent_id') ?? $category['parent_id'] ?? '', 'placeholder'=>'---Chose Category---' ]) !!}
答案 1 :(得分:1)
此问题是由于嵌套的三元组造成的,在我看来,这非常难以阅读!
如消息所言,避免在括号中没有强制优先级的嵌套三进制。
根据您的代码:
{!! General::selectMultiLevel('parent_id', $categories, [
'class' => 'form-control',
'selected' => !empty(old('parent_id')) ? old('parent_id') : !empty($category['parent_id']) ? $category['parent_id'] : '',
'placeholder'=>'---Chose Category---' ])
!!}
问题出在“选定”键之内。替换
!empty(old('parent_id')) ? old('parent_id') : !empty($category['parent_id']) ? $category['parent_id'] : ''
使用
!empty(old('parent_id')) ? old('parent_id') : (!empty($category['parent_id']) ? $category['parent_id'] : '')
请注意第一个括号后的附加括号:
但也许考虑对嵌套块使用完整的if语句以提高可读性。