Saltar al contenido

Laravel Framework ha lanzado la versión 12.17.0 con nuevas funcionalidades que mejoran la experiencia de desarrollo. Esta release incluye dos características destacadas que facilitan el trabajo con URIs y consultas de base de datos.

Características Principales

Nuevo Cast AsUri para Modelos Se ha añadido un nuevo cast AsUri que permite convertir automáticamente atributos de modelo a objetos URI, facilitando el manejo de URLs y URIs en tus aplicaciones Laravel de manera más elegante y tipada.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Casts\AsUri;
use Illuminate\Database\Eloquent\Model;

class WebhookEndpoint extends Model
{
    protected function casts(): array
    {
        return [
            'endpoint_url' => AsUri::class,
            'callback_url' => AsUri::class,
        ];
    }
}

use Illuminate\Support\Uri;

$webhook = new WebhookEndpoint();
$webhook->endpoint_url = new Uri('https://api.stripe.com/v1/webhook_endpoints');
$webhook->callback_url = new Uri('https://miapp.com/webhooks/stripe');
$webhook->save();

// Al recuperar, automáticamente se convierte a instancia Uri
$stripeEndpoint = $webhook->endpoint_url; // Instancia de Illuminate\Support\Uri
$host = $stripeEndpoint->getHost();
$path = $stripeEndpoint->getPath();

Método reorderDesc() en Query Builder El Query Builder ahora incluye el método reorderDesc() que permite reordenar consultas en orden descendente, proporcionando un atajo más limpio para reordenar consultas existentes.

<?php

use App\Models\Product;
use App\Models\Order;
use Illuminate\Support\Facades\Auth;

// Productos ordenados por popularidad, pero reordenados por compras recientes del usuario
$products = Product::orderBy('popularity_score')
    ->when(Auth::user(), fn ($query, $user) =>
        $query->reorderDesc(
            Order::select('created_at')
                ->whereColumn('product_id', 'products.id')
                ->where('user_id', $user->id)
                ->orderByDesc('created_at')
                ->limit(1)
        )
    )->get();

// Reordenar posts de blog por fecha de publicación
$posts = Post::orderBy('title')->reorderDesc('published_at')->get();

// Reordenar productos por precio en ofertas especiales
$saleProducts = Product::orderBy('name')
    ->where('on_sale', true)
    ->reorderDesc('price')
    ->get();

Lista Completa de Cambios

Esta release continúa mejorando la robustez y funcionalidad del framework, manteniendo Laravel como la opción preferida para desarrollo web en PHP.

school Curso completo

Curso Laravel 12
Completo 2026

El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.

access_time 8 horas de contenido
layers 4 tecnologías en 1
update 100% actualizado
code Proyectos prácticos
Ver Curso Laravel 12 arrow_forward

star Incluido en cualquier suscripción

Rutas de aprendizaje