Я предполагаю, что у вас есть временные метки по умолчанию, которые добавляют поля created_at
и updated_at
. Если это не так, и вы записываете время создания в другой столбец, просто замените created_at
на него.
Laravel поставляется с ручным пакетом для работы с датами - Углерод , который можно использовать, импортировав его из Carbon\Carbon
пространства имен.
И в построителе запросов Laravel есть метод whereDate (выделите "whereDate"), который может использоваться именно для этого.
Комбинируя эти 2, вы можете сделать это:
$posts = Post::where('user_id', $userId)->whereDate('created_at', \Carbon\Carbon::today())->get();
Это получит сообщения, которые были созданы сегодня.
Однако
Я настоятельно рекомендую вам создать hasMany
отношение (пользователь hasMany
сообщений и обратно сообщение belongsTo
пользователь), которое позволит использовать отношения и делать что-то вроде этого:
$posts = $user->posts()->whereDate('created_at', \Carbon\Carbon::today())->get();
И многое другое, путь Ларавела.