23 octubre, 2024
Extraer registros con la fecha actual
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.
Modelo
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 ]; }
Controlador
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
    }
}
Rutas
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');
Vista
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>
Resumen de la Estructura
- Modelo: app/Models/Post.php
- Controlador: app/Http/Controllers/PostController.php
- Rutas: routes/web.php
- Vista: resources/views/posts/index.blade.php
Ejecución
- 
	Asegúrate de que tu servidor Laravel esté corriendo: bash php artisan serve
- 
	Accede a http://localhost:8000/postsen tu navegador para ver los posts creados en la fecha actual.
Leido 12101 veces | 1 usuarios
Descarga del código fuente Laravel de Extraer registros con la fecha actual
Accede al código fuente esencial de nuestra aplicación en formato ZIP ó TXT. Ideal para desarrolladores que desean personalizar o integrar nuestra solución.
Opciones de descarga
- Usuarios Registrados: Inicia sesión para descarga inmediata.
- Nuevos Usuarios: Regístrate y descarga.
 
                         
                         
                 
                 
                 
                 
                             
                             
                             
                            