23 octubre, 2024
Descubre cómo filtrar registros en Laravel según la fecha actual. Aprende a crear un modelo, controlador y vista para mostrar posts del día. Ideal para desarrolladores que buscan optimizar sus aplicaciones. ¡Sigue nuestra guía y mejora tu flujo de trabajo en Laravel!
Suscríbete a nuestro canal en Youtube
SuscríbirseEn Laravel es muy facil mostrar o extraer los registros con la fecha de hoy que correspondería a Now() es bastante sencillo. Para ello usamos la clase carbon que tiene muchos métodos para la manipulación de fechas.
Aquí te muestro cómo estructurar el flujo para extraer y mostrar registros con la fecha actual en Laravel, organizando el modelo, controlador, rutas y vistas.
Primero, asegurémonos de que tienes un modelo llamado Post
. Si no lo tienes, puedes crear uno utilizando el comando Artisan:
bash
php artisan make:model Post -m
En el archivo app/Models/Post.php
, define tu modelo:
php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model;
class Post extends Model { use HasFactory;
protected $fillable = [ 'title', 'content', // otros campos ]; }
A continuación, crea un controlador para manejar la lógica de negocio. Puedes crear un controlador llamado PostController
:
bash
php artisan make:controller PostController
En app/Http/Controllers/PostController.php
, agrega la siguiente lógica:
php
namespace App\Http\Controllers;
use App\Models\Post;
use Carbon\Carbon;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function index()
{
$currentDate = Carbon::now()->toDateString(); // Obtiene la fecha actual en formato YYYY-MM-DD
$posts = Post::whereDate('created_at', $currentDate)->get(); // Filtra los posts por fecha
return view('posts.index', compact('posts')); // Retorna la vista con los posts
}
}
Configura la ruta para que apunte al controlador. Abre el archivo routes/web.php
y añade lo siguiente:
php
use App\Http\Controllers\PostController;
Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Ahora crea la vista donde se mostrarán los registros. Crea un archivo llamado index.blade.php
en la carpeta resources/views/posts
.
php
{{-- resources/views/posts/index.blade.php --}}
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Posts de Hoy</title>
<link rel="stylesheet" href="{{ asset('css/app.css') }}"> <!-- Enlaza tu CSS si es necesario -->
</head>
<body>
<div class="container">
<h1>Posts del {{ \Carbon\Carbon::now()->toDateString() }}</h1>
@if($posts->isEmpty())
<p>No hay posts para mostrar.</p>
@else
<ul>
@foreach($posts as $post)
<li>
<h2>{{ $post->title }}</h2>
<p>{{ $post->content }}</p>
<small>Creado el: {{ $post->created_at }}</small>
</li>
@endforeach
</ul>
@endif
</div>
</body>
</html>
app/Models/Post.php
app/Http/Controllers/PostController.php
routes/web.php
resources/views/posts/index.blade.php
Asegúrate de que tu servidor Laravel esté corriendo:
bash
php artisan serve
Accede a http://localhost:8000/posts
en tu navegador para ver los posts creados en la fecha actual.
Leido 10857 veces | 1 usuarios
0 descargas
Para descargar el código crea una cuenta
Crear cuenta© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024