没有 else 的 Blade 三元运算符
Blade ternary operator without else
我有一个对象,它的方法 hasATest
是 returns 一个布尔值,根据我想要启用或禁用按钮的值,所以我想做这样的事情:
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
"{{ $question->hasATest() ? disabled : }}"> Activate
</button>
但是我不知道其他的怎么办。如果我删除 :
,则会发生错误:
"unexpected =" ...
另外,残疾人也不是对面的。
你在这行有问题:
"{{ $question->hasATest() ? disabled : }}"
解决方法如下:
{{ ($question->hasATest()) ? disabled : 'enable' }}
只需为 else 部分使用一个空字符串。
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
{{ $question->hasATest() ? 'disabled' : '' }}> Activate
</button>
我想你也可以用 @if
代替三元。
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
@if($question->hasATest()) disabled @endif> Activate
</button>
正如您已经发现的那样,三元运算符需要一个 else
,您可以尝试一些语句,例如 null
或者在本例中 ""
到 return 空值else
.
{{ ($question->hasATest()) ? "disabled" : "" }}
对于那些必须检查非布尔值变量是否存在的人
例如$question->test
returns 测试名称(字符串)然后你可以使用 isset
<td>
{{ isset($question->test) ? $question->test : __('question.no_test') }}
</td>
我有一个对象,它的方法 hasATest
是 returns 一个布尔值,根据我想要启用或禁用按钮的值,所以我想做这样的事情:
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
"{{ $question->hasATest() ? disabled : }}"> Activate
</button>
但是我不知道其他的怎么办。如果我删除 :
,则会发生错误:
"unexpected =" ...
另外,残疾人也不是对面的。
你在这行有问题:
"{{ $question->hasATest() ? disabled : }}"
解决方法如下:
{{ ($question->hasATest()) ? disabled : 'enable' }}
只需为 else 部分使用一个空字符串。
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
{{ $question->hasATest() ? 'disabled' : '' }}> Activate
</button>
我想你也可以用 @if
代替三元。
<button class="btn btn-xs btn-detail btn-activate" name="question_id" value="{{$question->id}}" id="activate{{$question->id}}"
@if($question->hasATest()) disabled @endif> Activate
</button>
正如您已经发现的那样,三元运算符需要一个 else
,您可以尝试一些语句,例如 null
或者在本例中 ""
到 return 空值else
.
{{ ($question->hasATest()) ? "disabled" : "" }}
对于那些必须检查非布尔值变量是否存在的人
例如$question->test
returns 测试名称(字符串)然后你可以使用 isset
<td>
{{ isset($question->test) ? $question->test : __('question.no_test') }}
</td>