Laravel Blade, если не работает в файле лезвия

Я хочу показать «Принято» li, когда текущий пользователь уже подал заявку на работу. Отображение всех значений вместо отображения только части. Мой код приведен ниже

@foreach($applicant as $a)
   @if($a->is_applied == false)
       <li class="apply">
          <div class="applicant">
            <form method="post" action="{{ route('applicant.store',$postjob->id) }}">
               @csrf
               <button class="btn btn-info" type="submit">Apply</button>
            </form>
           </div>
        </li>
     @else
        <li><a class="disabled" href="">Applied</a></li>
     @endif
@endforeach

person Saimon Anam    schedule 04.03.2019    source источник
comment
Вы @foreach просматриваете всех кандидатов. Вам нужно проверить, подал ли заявку текущий пользователь.   -  person ceejayoz    schedule 04.03.2019
comment
Сэр, я пробовал это @if($a-›Auth::user()-›is_applied == true) Но все равно не работает. Не могли бы вы мне помочь?   -  person Saimon Anam    schedule 04.03.2019
comment
Что вы получите, если сбросите значение is_applied для всех претендентов?   -  person newUserName02    schedule 04.03.2019
comment
Вы можете попробовать @unless($a->is_applied)   -  person Tarasovych    schedule 05.03.2019
comment
Вы можете попробовать просто @if(!($a-›is_applied))   -  person Mr. Perfectionist    schedule 05.03.2019
comment
Какую ошибку вы получаете? и каков результат этого $a->is_applied   -  person Vipertecpro    schedule 05.03.2019
comment
Это фактически foreach среди всех претендентов   -  person Saimon Anam    schedule 05.03.2019
comment
Просто покажите мне результат этого $applicant, я зациклю его для вас :)   -  person Vipertecpro    schedule 11.03.2019


Ответы (2)


Когда вы сохраняете текстовую строку в базе данных, в данном случае "true" или "false", и проверяете ее на соответствие логическим значениям true или false, она >всегда возвращайте true, потому что текстовая строка установлена. Другими словами, текстовая строка не пуста — и, следовательно, true.

Итак, если вы хотите проверить значение (как текстовую строку) на «истину» или «ложь», вы должны поместить «истину» или «ложь» в кавычки, например:

@if($a->is_applied == 'false')
//...
@endif
person Thierry Maasdam    schedule 04.03.2019
comment
Нет. Я сохранил данные как логическое значение. Я ранее писал так же, как это работало. нет проблем с «ложным» или ложным. - person Saimon Anam; 04.03.2019

Попробуйте с этим

@if($a->is_applied)
     //...
@endif
person Maulik Shah    schedule 05.03.2019