我已经构建了一个新的Laravel 5.3应用程序,在我的表格中,我使用postgres UUID
作为主键和外键。
在定义Laravel模型时,我通常会创建关系。但是,Laravel的ORM似乎没有正确翻译请求:
PHP Warning: Uncaught exception 'PDOException' with message 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for uuid: "0"'
我已经搜索了laravel文档但是没有找到任何解释如何使用UUID作为密钥的东西。我需要做一些额外的配置吗?
答案 0 :(得分:0)
原因是您需要告诉模型该密钥不会自动递增。
class User extends Authenticatable {
use Notifiable, HasRole, SoftDeletes;
public $incrementing = false;
// User code
一旦你设置了这个,Eloquent就知道它不是在寻找一个整数并且会停止返回" 0"在查询模型时。
您可以在此处按照有关使用UraID的教程进行操作:https://garrettstjohn.com/article/using-uuids-laravel-eloquent-orm/