UUID 作为主键不起作用 Laravel
UUID as primary key not working Laravel
我们在 laravel 中使用 UUID 作为主键,我已经创建了一条记录并且它正在工作,但我无法使用 UUID 获取这条记录。
Table:
CREATE TABLE `User` (
`uuid` binary(16) NOT NULL ,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`uuid`),
) ;
Laravel代码:
型号:
class User extends Model {
const UPDATED_AT = 'updated';
protected $table = 'user';
protected $primaryKey = 'uuid';
protected $incremental = false;
}
控制器:
$contact = User::find(hex2bin('11E7094BFDB648529F5F7429AF41FD58'));
但结果始终为 Null。 :(
谢谢!
要在 laravel 中创建 uuid 字段,在模式模型中有两种方法
$table->uuid('uuid')->unique();
或
$table->char('uuid', 36)->unique();
并确保添加 fillable
protected $fillable = [ 'uuid', 'name'];
也可以看看这个包
https://github.com/EmadAdly/laravel-uuid
通过简单的方法可以(创建、添加、搜索 uuid)生成 UUID 并在添加新行时自动为任何模型将其注入到 uuid 字段中,您也可以轻松地通过 uuid 进行搜索。
我们在 laravel 中使用 UUID 作为主键,我已经创建了一条记录并且它正在工作,但我无法使用 UUID 获取这条记录。
Table:
CREATE TABLE `User` (
`uuid` binary(16) NOT NULL ,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`uuid`),
) ;
Laravel代码:
型号:
class User extends Model {
const UPDATED_AT = 'updated';
protected $table = 'user';
protected $primaryKey = 'uuid';
protected $incremental = false;
}
控制器:
$contact = User::find(hex2bin('11E7094BFDB648529F5F7429AF41FD58'));
但结果始终为 Null。 :(
谢谢!
要在 laravel 中创建 uuid 字段,在模式模型中有两种方法
$table->uuid('uuid')->unique();
或
$table->char('uuid', 36)->unique();
并确保添加 fillable
protected $fillable = [ 'uuid', 'name'];
也可以看看这个包
https://github.com/EmadAdly/laravel-uuid
通过简单的方法可以(创建、添加、搜索 uuid)生成 UUID 并在添加新行时自动为任何模型将其注入到 uuid 字段中,您也可以轻松地通过 uuid 进行搜索。