相关疑难解决方法(0)

在 Laravel 5 中使用 UUID 作为主键

我正在尝试创建具有主键的表,该主键是定义为binary(16)而不是默认自动递增id字段的 UUID 。

我已经设法使用原始 SQL 语句创建迁移,但DB::statement如下所示:

DB::statement("CREATE TABLE `binary_primary_keys` (
                      `uuid` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
                      `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
                      `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
                      PRIMARY KEY (`uuid`)
                  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;");
Run Code Online (Sandbox Code Playgroud)

但是,我无法使模型正常工作。我已按照此处提供的教程进行操作。我已经这样定义了我的模型:

class UuidModel extends Model
{
    public $incrementing = false;
    public $primaryKey = 'uuid';

    /**
     * The "booting" method of the model.
     *
     * @return void
     */
    protected static function boot()
    {
        parent::boot();

        /** …
Run Code Online (Sandbox Code Playgroud)

php mysql laravel eloquent laravel-5

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

eloquent ×1

laravel ×1

laravel-5 ×1

mysql ×1

php ×1