2015-01-21 1 views
0

Вот мое состояние в PHP, я пытаюсь его конвертировать в LaravelИмея если условие в Laravel

 <?php 
     if ($DriverDetail['IsActive']=='1') 
     { 
     ?> 
     <span class='account-active'></span> 
     <?php 
     } 
     else 
     { 
     ?> 
     <span class='account-blocked'></span> 
     <?php 
     } 
     ?> 

Я попытался с

{{ $DriverDetail['IsActive'] }} 

и concatinated в <span class='account-blocked'></span> внутри {{}}

Но это лучший способ иметь состояние в laravel, что эквивалентно моему php-коду

ответ

1

Try:

<span class='{{ $DriverDetail['IsActive'] ? 'account-active' : 'account-blocked' }}'></span> 

Или, если вы хотите, чтобы весь срок отделенный:

{{ $DriverDetail['IsActive'] ? "<span class='account-active'></span>" : "<span class='account-blocked'></span>" }} 

Это используя тройной оператор (DOCS here). В принципе, любое значение, которое вычисляется для логического значения true, выдает первое выражение (после «?»), Иначе оно выдает второе выражение (после «:»). В этом случае строка «1» или даже номер 1 оценивается как логическое значение true, поэтому тернарный оператор будет оценивать «истинное» выражение («account-active»). Неявные логические преобразования рассматриваются в документах here.

+0

Великий, не могли бы вы объяснить, как она проверяет значение '1 '? – AngularAngularAngular

+0

@Chennai Я обновил ответ, чтобы дать объяснение. – patricus

1

Попробуйте это ...

@if (count($records) === 1) 
    I have one record! 
@elseif (count($records) > 1) 
    I have multiple records! 
@else 
    I don't have any records! 
@endif 
+0

@extends ("template/index") ??? – AngularAngularAngular

0

С системой лезвия шаблонного, ясный путь будет:

@if ($DriverDetail['IsActive']) 
    <span class='account-active'></span> 
@else 
    <span class='account-blocked'></span> 
@endif