2

有効期限の日付と今日の日付を比較して、オブジェクトのコレクションをフィルタリングしようとしていますが、うまく機能しません。誰でもコードを見てもらえますか。私はここで何かが欠けていると確信しています。私はあちこちを検索し、多くの例を見つけましたが、どれも機能していません。

これは問題なく準拠していますが、有効期限が 2012 年に設定されている 9 つのオブジェクトのうち 3 つのリストでは、コレクションから結果が返されません。

コントローラ

public function classifieds()
{   
    $myclassifieds = Auth::user()->classifieds;
    return view('account.classifieds')->with(['allclassifieds'=>$myclassifieds]);
}

意見

@if(count($allclassifieds->where('expired_on','<', Carbon\Carbon::now() ) ) > 0)
//Something here
@endif
4

1 に答える 1

1

expired_on値に直接アクセスする

@foreach($allclassifieds as $classified)
    @if($classified->expired_on > Carbon\Carbon::now())
        // show classified
    @endif
@endforeach

$datesモデルの配列に追加することで、デフォルトで expired_on プロパティを Carbon インスタンスにすることができます。

protected $dates = ['created_at', 'updated_at', 'expired_on'];

expired_on常に Carbon インスタンスを返すようになりました

于 2016-04-05T19:01:10.530 に答える