Laravel-自定义ID

问题描述 投票:0回答:1

我正在尝试为表posts设置自定义ID。我找到了haruncpi laravel id生成器,并用composer require haruncpi/laravel-id-generator安装了它。之后,将use Haruncpi\LaravelIdGenerator\IdGenerator;添加到PostsController。现在我需要添加此$id = IdGenerator::generate(['table' => 'posts', 'length' => 10, 'prefix' =>'INV-']);,但我不知道在哪里以及如何...可能在public function store()或其他位置?请帮忙!我只希望我的身份证像:INV-000001INV-000002...

laravel post id
1个回答
0
投票

Laravel模型具有boot()方法,您可以在其中注册与模型相关的调用。因此,您可以订阅创建事件,该事件将在保存模型之前触发,您可以在此过程中更改模型。

因此,在您的Post.php模型中,添加以下内容。

public static function boot()
{
    parent::boot();

    self::creating(function ($model) {
        $model->id= IdGenerator::generate(['table' => 'posts', 'length' => 10, 'prefix' =>'INV-']);
    });
}

并且只要您利用基本的Laravel功能,它将ID添加到模型中。

© www.soinside.com 2019 - 2024. All rights reserved.