2

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によって完全に無視されます...

みんなありがとう !

4

2 に答える 2

1

これが役立つかもしれません:php artisan config:cache

于 2016-10-13T16:45:05.843 に答える
-1

わかりました...それで、 Laravel Sentinelが間違った構成ファイルを参照したおかげで、何が問題なのかがわかりました

使っていました

use Cartalyst\Sentinel\Native\Facades\Sentinel;

それ以外の

use Sentinel;

だから、私はちょうどドキュメントに従っていました...素晴らしい仕事です!

于 2015-12-14T00:53:12.493 に答える