为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel - 仅显示今天使用 carbon 创建的帖子

Laravel - 仅显示今天使用 carbon 创建的帖子

PHP
心有法竹 2021-11-19 16:34:10
我只需要显示当天为特定用户、用户 ID 创建的帖子。我为此使用了 Laravel Carbon,但没有任何反应,我不知道问题出在哪里。这是我的代码这是我OptikaController的两个用户和Carbon:class OptikaController extends Controller{    public function __construct()    {        $this->middleware('auth:admin');        $this->middleware('role:super', ['only'=>'show']);    }    public function delta(){        $date = new Carbon(request('date'));        $posts = Post::where('user_id', Auth::id(1))                ->whereDate('created_at','=',$date)                ->orderBy('created_at', 'DESC')                ->paginate(30); //add {{ $posts->links() }} if paginate is enabled        $user_id = auth()->user()->id;        $user = User::find(1);        return view('delta', compact('date', $date))->with('posts', $user->posts);    }    public function centar(){        $user_id = auth()->user()->id;        $user = User::find(2);        return view('centar')->with('posts', $user->posts);    }}因此,我添加Post::where('user_id', Auth::id(1))并$user = User::find(1);查看该用户 ID 1 今天发表的所有帖子,但没有任何反应。它向我显示了所有创建过的帖子,我只需要在今天或创建当天创建的帖子。有什么建议?
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

您的代码似乎工作得很好。然而,你应该返回$posts不$user->posts,你的回线应该是这样的。


return view('delta', compact('date', $date))->with('posts', $posts);

此外,您可以安全地删除这些行,除非您需要将用户传递给您的视图。


$user_id = auth()->user()->id;

$user = User::find(1);

所以你的代码应该是这样的:


$date = Carbon::parse(request('date'));


$posts = Post::where('user_id', User::find(1)->id)

    ->whereDate('created_at', '=', $date)

    ->orderBy('created_at', 'DESC')

    ->paginate(30);


return view('delta')->with('date', $date)->with('posts', $posts);


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信