Sentinel を使用して users テーブルに列を追加するのに苦労しました。
私がしたこと :
- (今のところ)1列を追加するための独自の移行ファイルの作成:「住所」
- app/Http/Controller にクラス「User」を作成する
namespace App\Http\Controllers;
use Cartalyst\Sentinel\Users\EloquentUser;
class User extends EloquentUser {
protected $fillable = [
'email',
'password',
'last_name',
'first_name',
'permissions',
'adresse',
];
}
config/cartalyst.sentinel.php でモデルを変更する
'model' => 'Cartalyst\Sentinel\Users\EloquentUser',
に
'model' => 'App\Http\Controllers\User',
ただし、データベースのアドレスは空のままです。
私は自分のコードを試しました
$credentials = [
'email' => 'john.dode@example.com',
'password' => 'password',
'adresse' => 'password',
];
$user = Sentinel::create($credentials);
dd($user);
の結果dd($user)
は次のとおりです。
EloquentUser {#392 ▼
#table: "users"
#fillable: array:5 [▼
0 => "email"
1 => "password"
2 => "last_name"
3 => "first_name"
4 => "permissions"
]
[...]
ベンダーに自分のフィールドを追加したくありませんが、現在機能している唯一のソリューションです...
編集:私はこのhttps://github.com/cartalyst/sentinel/wiki/Extending-Sentinelを正確にフォローしようとしましたが、ここでも同じ結果です...
アップデート
私の問題は予想よりも深刻なようです... \vendor\cartalyst\sentinel\src\config\config.php を変更すると、かなりうまく機能します。したがって、私のconfig/cartalyst.sentinel.phpはSentinelによって完全に無視されます...
みんなありがとう !