gpt4 book ai didi

Laravel Seeder - 使用唯一 ID (UUID) 更新所有记录

转载 作者:行者123 更新时间:2023-12-02 14:21:03 35 4
gpt4 key购买 nike

我刚刚为我的用户表添加了一个 UUID。

我想使用唯一的 UUID 更新所有记录。

在我的播种器中,我有以下代码,用于生成 UUID 并填充数据库中的这个新列。但是,生成的 UUID 在每一行中都是相同的。

public function run()
{
DB::table('users')->update([
'public_id' => Uuid::generate(4)->string
]);
}

我希望为数据库中的每个用户生成 UUID。因此每一行都有一个唯一的 UUID。

Hat tip to this SO question for help so far.

The Laravel UUID Package I'm using.

最佳答案

它不起作用,因为它只为所有用户数据使用一个生成的 uuid。

您需要循环遍历每个模型数据并生成唯一的 uuid 并保存。

public function run(){
$users = \App\User::get();

try{
DB::beginTransaction();
foreach($users as $user){
$user->public_id = Uuid::generate(4)->string;
$user->save();
}
DB::commit();
}
catch(Exception $e){
DB::rollback();
}
//if incase you get exception during database seeding.
}

关于Laravel Seeder - 使用唯一 ID (UUID) 更新所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56803331/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com