在我的Laravel应用程序中,我试图在数据库表中使用uuid作为主键,并使用Str助手为每一行生成一个新的uuid。
$table->uuid('id')->primary()->default(Str::uuid());它适用于第一行,但是如果我尝试添加另一行,它会生成相同的字符串,因此它会抛出违反完整性约束的。
我在控制器中的代码:
public function create(Request $request) {
$category = new category();
$category->name = $request->input('name');
$category->description = $request->input('description');
$category->save();
return redirect()->route('categoriesToAdmin');
}有什么解决办法吗?
您推荐我使用什么作为PK;UUID还是递增的数字?
发布于 2022-10-08 11:31:24
在这段代码中,您实际上要做的是将默认的UUID设置为字符串UUID,这在每一行中都是相同的。
您可能要做的是在UUID函数中使用MySql的构建,它将在MySQL8中工作
$table->uuid('id')->primary()->default(DB::raw('(UUID())'));https://stackoverflow.com/questions/73996552
复制相似问题