我想知道是否有一个简单的方法来分配我自己的(随机整数) id给用户注册时,而不是默认的自动增量id?
我使用带有默认身份验证模块的laravel 6+。
这是我用RegisterController.php编写的代码,但它不起作用:
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'id'=$my_random_value, //I added this line
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}发布于 2020-06-29 09:25:15
自动递增id或唯一列是数据库管理中的一个重要因素,尤其是在雄辩关系上。
但是,如果需要自定义属性id,只需创建一个accessor或mutators https://laravel.com/docs/7.x/eloquent-mutators#accessors-and-mutators
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Get the user's random id.
*
* @return string
*/
public function getCustomId()
{
return uniqid();
}
}然后,您可以调用自定义属性。
$user = App\User::find(1);
$firstName = $user->custom_id;https://stackoverflow.com/questions/62629244
复制相似问题