ユーザーのサインアップと認証のために、Slim PHP の Cartalyst Sentinel について詳しく学ぼうとしています。過去にこの種のことを試みたことがないので、私は少し深みがありません。
Sentinel を Slim に実装する方法については、このチュートリアルに従っています。
説明どおりにすべてが機能していますが、サインアッププロセスで追加のデータを取得する必要があるように、少し変更を加えたいと思います。ユーザー名、生年月日、国の選択。
users テーブルに追加の列を追加し、必要なフォーム フィールドを追加して、コントローラーのコードを更新しました。
$user = $app->container->sentinel->create([
'first_name' => $data['firstname'],
'last_name' => $data['lastname'],
'username' => $data['username'],
'dob' => $data['dob'],
'country' => $data['country'],
'email' => $data['email'],
'password' => $data['password'],
'permissions' => [
'user.delete' => false,
],
]);
ただし、追加のデータはデータベース テーブルに保存されません。Naomi Aro による以下のリンクをさらに読むと、ユーザー モデルを更新する必要があるように思えます。
Sentinel と Laravel を使用した複数のログイン属性
namespace app\models\Users;
use Cartalyst\Sentinel\Users\EloquentUser as SentinelUser;
class Users extends SentinelUser
protected $fillable = [
'email',
'username',
'dob',
'country',
'password',
'last_name',
'first_name',
'permissions',
];
protected $loginNames = ['email', 'username'];
index.php ファイルでモデルを要求しましたが、それが取得されていないようです。Sentinel でモデルを正しく実装していないと思いますか?
$app = new \Slim\Slim(array(
'users' => [
'model' => 'app/models/Users',
]
));
同じ問題を扱っているこの投稿も見つけましたが、Laravel固有です。
Laravel Cartalyst Sentinel - users テーブルにユーザー名列を追加する (正しい方法は何ですか)
進め方がわかりません。誰かアイデアや提案はありますか?
ありがとうございました!!