为什么当我添加$date->addDays(5)
时,刀片上没有显示任何内容?这是我的控制器:
use Carbon\Carbon;
...
public function index(){
$date = Carbon::now();
$date->addDays(5);
$date->format("Y-m-d");
$posts = Post::where('status','=', 1)->whereDate('created_at','=', $date)->get();
return view('home', compact('date', $date))->with('posts', $posts);
}
...
这是我的home.blade.php
:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">All posts
<a href="/posts/create" class="btn btn-primary" style="margin-left: 70%">New post +</a></div>
<hr>
<div class="card-body">
@foreach($posts as $post)
@if($post->status == 1)
<small style="color:red">PREMIUM POST</small>
<hr>
@endif
<h2>{{$post->name}}</h2><br>
<medium>{{$post->body}}</medium>
<hr style="border: 1.5px solid grey">
@endforeach
<small><?php echo now() ?></small>
</div>
</div>
</div>
</div>
</div>
@endsection
这个问题的解决方案是什么?在我添加$date->addDays(5);
后,它没有在我的刀片中显示任何内容?
编辑:我只需要我的职位是可见的5天后,没有。这就是全部,也许错误是与addDays();
,因为如果我删除它,我的刀片现在显示我的职位,但只有今天。
3条答案
按热度按时间ufj5ltwl1#
created_at
是由current_timestamp
创建的,如果你使用addDays(5)
将从功能中获取帖子。这不可能老实说,你可以添加一个名为
expired_date
的字段,与这个字段比较会很容易。使用laravel迁移添加一个字段,例如
一旦你创建了文章,你需要用
Carbon::now()->addDays(5)
设置expired_date;并筛选大于今天的过期日期。
如果你的
status
字段只是为了区分过期或未过期,我想你不需要这个字段。但是,如果您确实需要此字段来维护过期状态。
你需要每天更新它,尝试使用Task Scheduling
mf98qq942#
您可以添加自定义日期格式
oalqel3c3#