¿QUÉ HACE PLUCK EN LARAVEL?
pluck en Laravel es uno de los métodos más útiles tanto del Query Builder como de las Collections. Básicamente sirve para extraer (o "arrancar", como su nombre en inglés) los valores de una sola columna (o atributo) de forma rápida y eficiente, devolviéndolos en un array o colección simple. Es perfecto cuando no se necesitan objetos completos de modelos Eloquent, solo una lista plana de valores (por ejemplo, para llenar un select de html, validar IDs existentes, etc.). Ejemplos:- Llenar un select
// En un controlador o Form Request $categories = Category::pluck('name', 'id'); // [1 => 'Noticias', 2 => 'Tutoriales', ...] // En la vista (Blade) <select name="category_id" > @foreach($categories as $id => $name) <option value="{{ $id }}">{{ $name }}</option> @endforeach </select> - Obtener solo IDs o emails para validación
$existingEmails = User::where('status', 'active')->pluck('email')->toArray(); if (in_array($request->email, $existingEmails)) { // ya existe... } - Con clave personalizada (el segundo argumento es la clave)
$locations = City::get()->pluck('country.name'); // ['España', 'México', 'Argentina', ...] - Closures para transformar al vuelo
// Ejemplo nuevo y elegante $cities = City::pluck(fn ($city) => "{$city->country_code} - {$city->name}", 'id'); // Resultado: [1 => 'ES - Madrid', 2 => 'MX - CDMX', ...]