【发布时间】:2016-07-25 20:52:15
【问题描述】:
我正在尝试通过将日期的到期日期与今天的日期进行比较来过滤一组对象,但我无法让它正常工作。任何人都可以看看代码。我确定我在这里遗漏了一些东西。我到处搜索,发现了很多例子,但没有一个有效。
这符合要求,但包含 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() 给你日期时间 - 这可能会导致问题,不确定。 -
这是一个包含一个对象的集合。 Expires_on 是一个非常奇怪的日期时间对象。 [ { “id”:31,“用户名”:“test”,“type”:1,“action”:“sell”,“maincat”:“古董”,“title”:“test”,“description”: “test”、“extratextfield”:null、“lowerprice”:1、“partex”:0、“condition”:“used”、“price”:“680”、“images”:“1”、“email”: “test@test.com”、“cmets”: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" } ]
-
在您的代码中,您有
expired_on。将其放入帖子中是错字还是原始代码中的错字? ;) 该对象包含expires_on。 -
那是我的错,它实际上在视图中写得很好
标签: php laravel eloquent laravel-5.1 laravel-collection