【问题标题】:Laravel carbon IF statementLaravel 碳 IF 声明
【发布时间】:2016-03-26 18:55:54
【问题描述】:

如果拍卖通过这种方式进行,我会尝试使用刀片和碳创建 DOM:

@if ( {{(Carbon\Carbon::now()) < ($article->auction_end)}} )
  <div class="col-md-3 leftEdge">
    <p>Auction is ACTIVE</p>
  </div>
@endif

但我得到错误:

e91f1d7e7c19547ed6cb12e22b4988e0 第 21 行中的 FatalErrorException: 语法错误,意外'

【问题讨论】:

    标签: php laravel if-statement blade php-carbon


    【解决方案1】:

    你应该使用:

    @if (Carbon\Carbon::now() < $article->auction_end)
    <div class="col-md-3 leftEdge">
    <p>Auction is ACTIVE</p>
    </div>
    @endif
    

    你不应该在控制语句中使用{{

    除了以有效方式比较日期外,您还应该使用 Carbon lte 运算符更改比较,因此最终应该如下所示:

    @if (Carbon\Carbon::now()->lte(Carbon\Carbon::parse($article->auction_end)))
    <div class="col-md-3 leftEdge">
    <p>Auction is ACTIVE</p>
    </div>
    @endif
    

    【讨论】:

    • 好的,没错,但我不明白为什么当我从现在开始有两个不同的时间时,我两次都获得拍卖已关闭() - 一个在过去的一个未来,我两次都得到:拍卖已关闭with : @ if ( $article->auction_end > \Carbon\Carbon::now() )

      Auction is ACTIVE

      @ else

      拍卖结束

      @endif
  • @MonkeyBusiness 请验证在您使用@if (Carbon\Carbon::now()-&gt;lte($article-&gt;auction_end))时它是否会起作用@结果会如预期的那样
  • 不,给我错误:传递给 Carbon\Carbon::lte() 的参数 1 必须是 Carbon\Carbon 的实例,给定字符串,在 C:\wamp\www\learn5\storage 中调用\framework\views\e91f1d7e7c19547ed6cb12e22b4988e0 在第 21 行并定义(视图:C:\wamp\www\learn5\resources\views\articles\index.blade.php)
  • @MonkeyBusiness 是直接来自数据库的auction_end 日期时间还是时间戳?如果是这样,请尝试@if (Carbon\Carbon::now()-&gt;lte(Carbon\Carbon::parse($article-&gt;auction_end)))
  • 【解决方案2】:

    您似乎在 if 语句中使用了大括号“{{”和“}}”。只有当您尝试在 @if 之类的 @ 函数之外回显变量时,这些才是必需的。删除括号,它应该可以工作^^

    如需进一步参考,请查看官方文档:http://laravel.com/docs/5.0/templates

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 2016-06-06
      相关资源
      最近更新 更多