繁体   English   中英

通过比较日期来过滤视图中的 Laravel 集合?

[英]Filter a laravel collection inside a view by comparing dates?

我试图通过将其到期日期与今天的日期进行比较来过滤一组对象,但我无法让它正常工作。 任何人都可以看一下代码。 我确定我在这里遗漏了一些东西。 我到处搜索,发现了很多例子,但没有一个有效。

这很好,但是有 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

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

您可以通过将 expired_on 属性添加到模型中的$dates数组来默认将其设为 Carbon 实例:

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

现在expired_on总是返回一个 Carbon 实例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM