【问题标题】:Creating a Custom ID (Primary Key) in Laravel在 Laravel 中创建自定义 ID(主键)
【发布时间】:2018-12-30 04:34:56
【问题描述】:

我有两个名为 UsersBooks 的表(模型),需要为我的表创建自定义 ID(主键)值,例如,u25894r 用于用户,b419k 用于书籍。我在互联网和 stackoverflow 上搜索了很多,但我不明白应该在哪里定义我的自定义 ID 生成器函数,例如 AppServiceProvider boot functionModel constructor 函数。如果您举个小例子,我将不胜感激。

编辑: 我需要编写为表生成唯一自定义 ID 的函数。

【问题讨论】:

  • 你可以在迁移文件中设置
  • @MohammadAbdi 怎么样?你能提供更多细节吗?

标签: laravel model eloquent


【解决方案1】:

您可以在 Model 类中设置自定义 id 名称。采用 protected $primaryKey = "u25894r"; 对于用户表,然后进行迁移。

【讨论】:

  • 这是一个示例值,我的问题是我应该在哪里以及如何编写这样的 ID 生成器函数。
【解决方案2】:

你可以在迁移文件中设置

laravel 文档非常强大,你应该从这个链接阅读迁移

https://laravel.com/docs/5.6/migrations

【讨论】:

  • 谢谢,但它似乎对我不起作用!我需要编写一个生成自定义 ID 的函数,这样当我创建一个用户时,它会自动使用生成的 ID 值填充 Users 表的主键。
【解决方案3】:

您需要更改类/模型定义(即受保护的 $primaryKey = "myUniqueName")以及迁移文件:

public function up()
{
    Schema::create('recruiters', function (Blueprint $table) {
        // this is in the migration file:
        $table->id('recruiter_id');
        $table->timestamps();
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-09
    • 2018-05-31
    • 2021-12-12
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    相关资源
    最近更新 更多