我只需要显示当天为特定用户、用户 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);
- 1 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消