【问题标题】:Laravel Blade if is not working in blade fileLaravel Blade 如果不在刀片文件中工作
【发布时间】:2019-03-05 13:00:09
【问题描述】:

我想在当前登录人已经申请工作时显示“已申请”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

【问题讨论】:

  • 您是@foreaching 通过所有个申请人。您需要检查当前用户是否已申请。
  • 先生,我试过这个@if($a->Auth::user()->is_applied == true) 但还是不行。你能帮帮我吗?
  • 当你将is_applied的值转储给所有申请者时,你会得到什么?
  • 你可以试试@unless($a-&gt;is_applied)
  • 你可以试试@if(!($a->is_applied))

标签: laravel laravel-blade laravel-5.7


【解决方案1】:

当您在数据库中保存 文本字符串 时,在本例中为“true”或“false”,并测试它是否为 boolean true 或 @ 987654322@,它将总是返回true,因为设置了文本字符串。换句话说,文本字符串不是空的——因此true

因此,如果您想测试该值(作为文本字符串)是“真”还是“假”,则必须将“真”或“假”放在引号之间,如下所示:

@if($a->is_applied == 'false')
//...
@endif

【讨论】:

  • 没有。我将数据保存为布尔值。我以前写的方式与它的工作方式相同。 'false' 或 false 没有问题。
【解决方案2】:

试试这个

@if($a->is_applied)
     //...
@endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-09
    • 2014-02-23
    • 2017-05-23
    • 1970-01-01
    • 2015-04-14
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多