PHPackages                             jhamnerx/laravel-id-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jhamnerx/laravel-id-generator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jhamnerx/laravel-id-generator
=============================

Easy way to generate custom ID in laravel framework

050PHP

Since Nov 22Pushed 3y agoCompare

[ Source](https://github.com/Jhamnerx/laravel-id-generator)[ Packagist](https://packagist.org/packages/jhamnerx/laravel-id-generator)[ RSS](/packages/jhamnerx-laravel-id-generator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel ID Generator
====================

[](#laravel-id-generator)

 [![](https://camo.githubusercontent.com/c7faad81693a96406e15504a35d611f147be08588b4158de4438fc3e4295b2ec/68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f762f686172756e6370692f6c61726176656c2d69642d67656e657261746f72)](https://packagist.org/packages/haruncpi/laravel-id-generator) [![](https://camo.githubusercontent.com/01a1a117452a6379999a6eadf9cf59961b0c1897ce5bbfa2f2ac0f293041c9f3/68747470733a2f2f62616467656e2e6e65742f62616467652f6c6963656e63652f434320425920342e302f323342434342)](https://creativecommons.org/licenses/by/4.0/) ![](https://camo.githubusercontent.com/1cace4925ba83d0a0617fbf5afac9c6d2086eb0bce80fa2d46d57f615221979e/68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f64742f686172756e6370692f6c61726176656c2d69642d67656e657261746f72) [![](https://camo.githubusercontent.com/7f8cee3656ebee78699563210e0362ae77dc119264f2edcdc563221fd0fb0bd1/68747470733a2f2f62616467656e2e6e65742f62616467652f747769747465722f406c61726176656c61727469636c652f3144413146323f69636f6e266c6162656c)](https://twitter.com/laravelarticle) [![](https://camo.githubusercontent.com/44c8929947e2d794413952cd3b9e416c360782412c17ea38b11aea1fd7db170c/68747470733a2f2f62616467656e2e6e65742f62616467652f66616365626f6f6b2f6c61726176656c61727469636c652f336235393938)](https://facebook.com/laravelarticle)

Easy way to generate custom ID from database table in Laravel framework

[![Image description](preview.png)](preview.png)

Documentation
-------------

[](#documentation)

 La identificación única es una parte importante de nuestra aplicación. A alguien le gusta generar la identificación de la aplicación como incremental automática y a alguien le gusta generar su identificación única en un formato personalizado. Esta publicación le mostrará cómo generar una clave primaria personalizada o cualquier campo de su tabla con una ID personalizada a través del [paquete generador de ID de Laravel](https://github.com/haruncpi/laravel-id-generator "Paquete generador de ID de Laravel") .

 **Instalación**

```
```
composer require haruncpi/laravel-id-generator
```Copiar
```

###  **¿Cómo usarlo?**

[](#------cómo-usarlo----)

 Puede usarlo en el código de su controlador como ayudante o dentro de su modelo definiendo un método de arranque.

 **Ejemplo con controlador**

 Generador de ID de importación

```
```
use Haruncpi\LaravelIdGenerator\IdGenerator;
```Copiar
```

```
```
public function store(Request $request){

	$id = IdGenerator::generate(['table' => 'todos', 'length' => 6, 'prefix' => date('y')]);

	$todo = new Todo();
	$todo->id = $id;
	$todo->title = $request->get('title');
	$todo->save();

}
```Copiar
```

 NÓTESE BIEN:Si genera una identificación para el campo de la tabla `id`, debe configurar el `id`campo como rellenable y `public $incrementing = false;`dentro de su modelo.

 **Ejemplo con el modelo**

 En su modelo agregue un `boot `método. La identificación se generará automáticamente cuando se agregue un nuevo registro.

```
```
public static function boot()
{
    parent::boot();
    self::creating(function ($model) {
        $model->uuid = IdGenerator::generate(['table' => $this->table, 'length' => 6, 'prefix' =>date('y')]);
    });
}
```Copiar
```

 **Parámetros**

 Debe pasar una matriz asociativa a `generate`la función con `table, length`y `prefix`clave.

 `table`= Su nombre de tabla.

 `field`= Opcional. Por defecto, funciona en el campo id. También puede establecer otros nombres de campo.

 `length`= La longitud de su identificación

 `prefix`= Defina su prefijo. Puede ser un prefijo de año, mes o cualquier letra personalizada.

 `reset_on_prefix_change`= Opcional, predeterminado falso. Si desea restablecer la identificación de 1 en el cambio de prefijo, configúrelo como verdadero.

 **Ejemplo: 01**

```
```
$config = [
    'table' => 'todos',
    'length' => 6,
    'prefix' => date('y')
];

// now use it
$id = IdGenerator::generate($config);

// use within single line code
$id = IdGenerator::generate(['table' => 'todos', 'length' => 6, 'prefix' => date('y')]);

// output: 160001
```Copiar
```

 **Ejemplo 02:** INV-000001 para cadena de prefijo. Su campo debe ser varchar.

```
```
$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>'INV-']);
//output: INV-000001
```Copiar
```

 **Ejemplo 03:** AAMM000001

```
```
$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('ym')]);
//output: 1910000001
```Copiar
```

 **Ejemplo 04:** Por defecto, este paquete funciona en el campo ID. Puede establecer otro campo para generar una ID. Asegúrese de que su campo seleccionado debe ser único y también el tipo de datos adecuado.

```
```
$id = IdGenerator::generate(['table' => 'products','field'=>'pid', 'length' => 6, 'prefix' =>date('P')]);
//output: P00001
```Copiar
```

 **Ejemplo 05:** De forma predeterminada, este paquete no restablecerá su ID cuando cambie su prefijo de ID. Si desea restablecer su ID de 1 en cada cambio de prefijo, pase`reset_on_prefix_change => true`

 Restablecer ID anualmente

```
```
$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('y')]);
//output: 2000000001,2000000002,2000000003
//output: 2100000001,2100000002,2100000003
```Copiar
```

 Restablecer ID mensualmente

```
```
$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('ym')]);
//output: 1912000001,1912000002,1912000003
//output: 2001000001,2001000002,2001000003
```Copiar
```

 O cualquier cambio de prefijo

```
```
$id = IdGenerator::generate(['table' => 'products', 'length' => 6, 'prefix' => $prefix]);
//output: A00001,A00002,B00001,B00002
```Copiar
```

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 68.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/69a60c00428e9075a85759d44949d3506aedfe06c9b37b27a90fce39493c5158?d=identicon)[Jhamnerx](/maintainers/Jhamnerx)

---

Top Contributors

[![haruncpi](https://avatars.githubusercontent.com/u/11594794?v=4)](https://github.com/haruncpi "haruncpi (13 commits)")[![Jhamnerx](https://avatars.githubusercontent.com/u/30221273?v=4)](https://github.com/Jhamnerx "Jhamnerx (6 commits)")

### Embed Badge

![Health badge](/badges/jhamnerx-laravel-id-generator/health.svg)

```
[![Health](https://phpackages.com/badges/jhamnerx-laravel-id-generator/health.svg)](https://phpackages.com/packages/jhamnerx-laravel-id-generator)
```

###  Alternatives

[phpcr/phpcr-migrations

Migrations for PHPCR

421.4M2](/packages/phpcr-phpcr-migrations)[pattern-lab/edition-drupal-standard

Standard Edition of Pattern Lab for Drupal.

12419.1k](/packages/pattern-lab-edition-drupal-standard)[graphite-graph/graphite-graph

Graphite graph DSL

152.8k](/packages/graphite-graph-graphite-graph)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
