定制 ezermeno/fmxpluck 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 belongsTo y 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
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-09-11