gpt4 book ai didi

php - Laravel Cartalyst Sentinel - 向用户表添加用户名列(什么是正确的方法)

转载 作者:可可西里 更新时间:2023-11-01 12:49:03 31 4
gpt4 key购买 nike

我已经引入了 cartalyst/sentinel 并运行了生成表所需的迁移

php artisan migrate --package=cartalyst/sentinel

我注意到这些是用户表中可用的列

  1. 编号
  2. 电子邮件
  3. 密码
  4. 权限
  5. 上次登录
  6. 名字
  7. 姓氏
  8. 创建于
  9. 更新时间

我想在电子邮件后添加用户名。所以我创建了一个迁移文件来执行此操作。

//add a column username after email in the users table
$table->string('username')->after('email')->unique();

现在当我使用 Sentinel::register

$credentials = Input::all();
$user = Sentinel::register($credentials);

用户名不会保存在表中。所以我设法通过编辑 vendor/cartalyst/sentinel/src/Users/EloquentUser.php

使其可填充
protected $fillable = [
'email',
'username', /* i added this */
'password',
'last_name',
'first_name',
'permissions',
];

现在一切正常,用户名存储在表中。但是我想知道我做的是否正确?我们不应该接触 packages 文件夹中的文件吗?我们如何解决这个问题?

最佳答案

差不多。您必须创建自己的用户类,扩展 vendor/cartalyst/sentinel/src/Users/EloquentUser.php:

use Cartalyst\Sentinel\Users\EloquentUser as CartalystUser;

class User extends CartalystUser {

protected $fillable = [
'email',
'username', /* i added this */
'password',
'last_name',
'first_name',
'permissions',
];

}

发布 Sentinel 的配置:

php artisan config:publish cartalyst/sentinel

然后在配置文件中,将用户模型设置为您自己的:

'users' => [

'model' => 'Your\Namespace\User',

],

关于php - Laravel Cartalyst Sentinel - 向用户表添加用户名列(什么是正确的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26133447/

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