私は今日の日付と有効期限を比較してオブジェクトのコレクションをフィルタリングしようとしていますが、動作することはありません。誰でもコードを見ることができます。私はここで何かを逃していると確信しています。私は全面的に検索し、多くの例を見つけましたが、誰も働いていません。日付を比較してビュー内のlaravelコレクションをフィルタリングしますか?
これはうまくいきますが、9つのオブジェクトのうち3つのオブジェクトのうち、有効期限が2012年に設定されているもののリストは、コレクションの結果を返しません。
コントローラ
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
が言うのは難しい、正常に見えるカーボンのインスタンスを返します。 'expired_on'が各コレクションオブジェクトの最初のレベルで直接利用可能であることを確かめますか?また、 'where()'比較は厳密です。あなたの 'expired_on'は日付ですが、Carbon :: now()はあなたにdatetimeを与えます。それは問題を引き起こすかもしれません。確かではありません。 – lesssugar
これは1つのオブジェクトを含むコレクションです。 Expires_onは日付時間オブジェクトは非常に奇妙です。 [ { "ID":31、 "ユーザ名": "テスト"、 "タイプ":1、 "アクション": "売り"、 "maincat": "アンティーク"、 "タイトル": "試験"、 "説明": "テスト"、 "extratextfield":ヌル、 "lowerprice":1、 "partex":0、 "条件": "使用"、 "価格": "680 "、 " images ":" 1 "、 " email ":" [email protected] "、 " comments ":1、 " created_at ":" 2016-04-03 19:00:26 "、 "updated_at": "2016-04-03 19:00:26"、 "expires_on ":" 2016-03-14 19:00:26 " } ] – matpulis
あなたのコードには、' expired_on'があります。それは、元のコードの投稿や入力ミスでこれを入れている間、タイプミスですか? ;)オブジェクトは 'expires_on'を保持します。 – lesssugar