2016-06-23 1 views
-2

私は例えば、私は記事のupdated_atが少ない3日である場合には、 "新しい" spanを見せたいLaravel 5.2:この `if`文を書くには?

をLaravel 5.2、
を使用しています:
一つの記事のupdated_at
が今2016-06-23 18:50:05で、2016-06-21 14:15:36です。
2016-06-23-2016-06-21 = 2、それは3より小さく、
であるので、「新しい」spanが示される。
if文章作成の方法は?

@if(......) //How to write the `if` sentence here? 
<span class="label label-success">new</span> 
@endif 

答えて

2

あなたの記事のupdated_atフィールドは、カーボンインスタンスであるので、Laravelは、それの日付のCarbonを使用しています。記事が3日より新しいかどうかを確認するには、updated_atフィールドが "now - 3 days"より新しいかどうかを確認するだけです。幸いなことに、炭素は-3 daysの意味を理解しています。

$article->updated_at->gte(new Carbon("-3 days")) 

ジョブを実行する必要があります。 gteはCarbonが提供する方法であり、「より大きいまたは等しい」の略語です

+0

ありがとうございます。私は 'time'の代わりに' date'を使って減算を行いたいと思います。それを行うには? – zwl1619

+0

「-3日」の代わりに「-3時」を試してください – tkausl

+0

エラー: 'DateTime :: __ construct():位置8で時間文字列(深夜-3時)を解析できませんでした。データベースに存在する。 – zwl1619

2

date_diff()機能を使用して日を検索できます。

<?php 
    $date1=date_create("2016-06-21"); 
    $date2=date_create("2016-06-23"); 
    $diff=date_diff($date1,$date2); 
    if($diff->format("%a")<'3'){ 
     echo 'new span'; 
    } 

?> 
+0

' if'文で書く方法は? – zwl1619

+1

@ zwl1619更新された回答を参照してください。 –