2017-03-15 66 views
1

我们在laravel中使用UUID作为主键,我创建了一个记录及其工作,但我无法使用UUID获取此记录。作为主键不工作的UUID Laravel

表:

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')); 

但结果总是空。 :(

谢谢!

回答

1

为了UUID场laravel有架构模型内部双向

$table->uuid('uuid')->unique(); 

$table->char('uuid', 36)->unique(); 

,并确认添加可填写

protected $fillable = [ 'uuid', 'name']; 

也您可以在此包

https://github.com/EmadAdly/laravel-uuid

通过简单的方法来看看能(创建,添加搜索UUID)生成UUID和任何模型自动注入它的UUID字段中添加一个新行时,你也可以轻松搜索uuid。