gpt4 book ai didi

php - 如何在laravel中将主键与随机数连接?

转载 作者:行者123 更新时间:2023-12-02 06:46:27 27 4
gpt4 key购买 nike

我想创建用户,但是在创建之前,我想生成并为他们分配随机数。
对于随机数,我想生成随机的前4位数字,其余的将要分配的其他数字主键。
例如:我的数据库中已经有5个数据。我想添加一个数据。在数据库中添加数据之前。我想生成4位数的随机数,并在数据库中添加6的主键。如数据库中的3452 + 6。

$digits = 4;
$ra = rand(pow(10, $digits-1), pow(10, $digits)-1);
return $userid = User::create([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'userid'=> $ra, // here i want to concatenate random number with primary key which is going
to be added
'password' => Hash::make($data['password']),
]);

最佳答案

好,正如您所要求的,这是我通常要做的

请注意,我假设您的表结构如下所示

id | userid | firstname | lastname | email | password

,默认userid应该为null
  • 保存后,我从db
  • 中检索最后插入的ID
  • 然后我根据需要自定义新ID
  • 然后我将其保存在新字段(更新表)中

  • 这是代码
    $userid = User::create([
    'firstname' => $data['firstname'],
    'lastname' => $data['lastname'],
    'email' => $data['email'],
    'userid'=> $ra, // here i want to concatenate random number with primary key which is going
    to be added
    'password' => Hash::make($data['password']),
    ]);

    现在,让我们获取最后插入的ID
     $id = DB::getPdo()->lastInsertId();

    然后让它随心所欲
        $random_id= rand(1000,10000)

    $new_id = $id.'_'.$random_id;

    现在更新数据库
     //Updating row with registration number
    User::where('id', $id)->update(['userid' => $new_id ]);

    就这样

    谢谢

    关于php - 如何在laravel中将主键与随机数连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942852/

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