Jam*_*esG 3 php session yii yii2
我正在使用Yii2的DBSession类将Web应用程序会话存储到一个名为的数据库表中session.
此表在默认情况下只能有3列- id,expire和data.
我想将其他信息存储到此表中,就像user_id登录用户一样.
编辑:所以有一个名为yii\web\MultiFieldSession的父类,但没有关于它如何使用的示例.我会看到我能发现的东西......
创建迁移:
$this->createTable('session', [
'id' => $this->char(40)->notNull(),
'expire' => $this->integer(),
'data' => $this->binary(),
'user_id' => $this->integer()
]);
$this->addPrimaryKey('session_pk', 'session', 'id');
Run Code Online (Sandbox Code Playgroud)
将此添加到配置:
'components' => [
'session' => [
'class' => 'yii\web\DbSession',
'writeCallback' => function($session){
return [
'user_id' => Yii::$app->user->id
];
}
// 'db' => 'mydb', // the application component ID of the DB connection. Defaults to 'db'.
// 'sessionTable' => 'my_session', // session table name. Defaults to 'session'.
],
Run Code Online (Sandbox Code Playgroud)