没有其他的刀片三元运算符

时间:2017-04-14 20:18:58

标签: php laravel blade

我有一个对象,其方法hasATest返回一个布尔值,并且根据我想要启用或禁用按钮的值,所以我想做这样的事情:

<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 ="  ... 

另外,它与残疾人的情况相反。

4 个答案:

答案 0 :(得分:4)

三元运算符需要else,您可以尝试使用null""这样的语句来返回else上的空值。

{{ ($question->hasATest()) ? "disabled" : "" }}

答案 1 :(得分:3)

只需在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>

答案 2 :(得分:1)

这行有问题:

"{{ $question->hasATest() ? disabled : }}"

以下是解决方案:

{{ ($question->hasATest()) ? disabled : 'enable' }}

答案 3 :(得分:1)

对于那些需要检查非布尔值变量是否存在的人

例如$question->test返回测试名称(字符串),然后您可以使用isset

<td> 
{{ isset($question->test) ? $question->test : __('question.no_test') }}
</td>
相关问题