
Manejo fluido de arrays en Laravel, el helper fluent
- Publicado el 08 enero, 2025
- Palabras: 46
Trabajar con arrays anidados en Laravel ahora es más sencillo con la introducción del helper fluent(), que proporciona una forma más intuitiva de acceder y manipular datos multidimensionales.

#Uso básico
A continuación se explica cómo trabajar con arrays multidimensionales utilizando el helper fluent():
$data = [
'user' => [
'name' => 'Philo',
'address' => [
'city' => 'Amsterdam',
'country' => 'Netherlands',
]
],
'posts' => [
['title' => 'Post 1'],
['title' => 'Post 2']
]
];
// Acceder a datos anidados
fluent($data)->user;
fluent($data)->get('user.name');
// Encadenar con colecciones
fluent($data)->collect('posts')->pluck('title');
// convertir JSON
fluent($data)->scope('user.address')->toJson();
#Ejemplo práctico
A continuación se muestra una implementación práctica para un sistema de perfiles de usuario:
class ProfileController extends Controller
{
public function show(User $user)
{
$profileData = [
'user' => [
'info' => [
'name' => $user->name,
'email' => $user->email,
'joined' => $user->created_at
],
'preferences' => [
'notifications' => $user->notification_preferences,
'theme' => $user->theme_settings
]
],
'stats' => [
'posts' => $user->posts->count(),
'comments' => $user->comments->count(),
'likes' => $user->likes->count()
]
];
$profile = fluent($profileData);
return response()->json([
'name' => $profile->get('user.info.name'),
'email' => $profile->get('user.info.email'),
'theme' => $profile->get('user.preferences.theme'),
'engagement' => $profile->scope('stats')->toArray(),
'notifications' => $profile
->collect('user.preferences.notifications')
->filter(fn($enabled) => $enabled)
->keys()
]);
}
}
El helper fluent() hace que las operaciones de arrays complejos sean más legibles y fáciles de mantener.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión