ezermeno/fmxpluck
最新稳定版本:v2.0.1
Composer 安装命令:
composer require ezermeno/fmxpluck
包简介
Package for concatenate some columns in descriptions of array directly from model in eloquent laravel
README 文档
README
Un scope para Eloquent que permite generar arrays tipo pluck concatenando múltiples columnas, incluyendo campos de relaciones (belongsTo) usando notación relacion.campo.
🚀 Instalación
En tu proyecto Laravel:
composer require ezermeno/fmxpluck
📦 Agregar a Model
En tu Model (ejemplo con modelo User):
use Ezermeno\Fmxpluck\Fmxpluck; class User extends Authenticatable { use Fmxpluck; .... }
📦 Uso básico
En tu Controller (ejemplo con modelo User):
$usuarios = User::fmxPluck(['name','email'],'id',':');
Esto devolverá un array con el id como clave y el valor concatenado:
[
1 => "Juan Pérez:juan@correo.com",
2 => "María López:maria@correo.com",
]
🔗 Uso con relaciones
Puedes incluir campos de relaciones belongsTo usando notación relacion.campo:
$usuarios = User::fmxPluck(['name','email','puesto.nombre'],'id',':');
Esto generará:
[
1 => "Juan Pérez:juan@correo.com:Gerente",
2 => "María López:maria@correo.com:Analista",
]
También puedes usar directamente nombres de tabla:
$usuarios = User::fmxPluck(['users.name','users.email','puestos.nombre'],'users.id',':');
⚙️ Parámetros
fmxPluck(array $columnas, string $id, string $separador = " ")
- $columnas → columnas del modelo o relaciones (
['name','email','puesto.nombre']) - $id → columna que será la clave del array (ej.
'id') - $separador → texto que separa cada columna concatenada (ej.
':')
📌 Notas
- Las relaciones deben ser de tipo
belongsToy la FK debe estar en el modelo principal (ej.users.puesto_id). - Puedes usar directamente nombres de tabla (
puestos.nombre) si prefieres control total. - El scope soporta ambos estilos: notación de relación (
puesto.nombre) y tabla directa (puestos.nombre).
📝 Ejemplo completo
// En tu controlador public function index() { $usuarios = User::fmxPluck(['users.name','users.email','puestos.nombre'],'users.id',':'); return view('usuarios.index', compact('usuarios')); }
📄 Licencia
Este paquete se distribuye bajo la licencia MIT.
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-09-11