Laravel 5.2:如何写这个关于标签的`if`陈述?

时间:2016-06-04 04:28:36

标签: php laravel-5.2

我想展示标签" New"在文章旁边,它的更新时间不超过3天。有些人请帮助,提前谢谢。

如何撰写下面的if声明?

@foreach ($articles as $article)
    <a href="#">{{$article->title}}</a>
    @if($article->updated_at)     //How to write here?
        <span class="label label-danger">New</span>
    @endif
@endforeach

1 个答案:

答案 0 :(得分:1)

你可以这样做:

在您的文章模型中,确保updated_at成为Carbon实例,您可以通过在模型中添加属性来执行此操作,如:

protected $dates = ['updated_at']; 

同样在模型中定义一个方法,用于检查文章是否是最新的:

public function isLatest() {
    return $this->updated_at->diffInDays(\Carbon\Carbon::now()) <= 3;
}

该方法基本上是检查你所提到的差异天数是否小于或等于3。

现在在您的视图中,使用$ article对象上的方法,如:

 @if ($article->isLatest()) 
     <!-- when true --> 
 @else
    <!-- when false -->
 @endif

我希望它有所帮助