Laravel 会话表添加附加列

Js *_*Lim 5 session logout laravel laravel-4

我想user_idsession表格上添加一个额外的列。

原因是,有时有垃圾邮件发送者注册假帐户,一旦我知道该用户是垃圾邮件发送者,我想通过删除会话记录来注销该用户。

有可能实现这一目标吗?

Ant*_*iro 5

这是会话迁移架构:

Schema::create('sessions', function($table)
{
    $table->string('id')->unique();
    $table->text('payload');
    $table->integer('last_activity');
    $table->integer('user_id')->unsigned(); //// ADD IT!
});
Run Code Online (Sandbox Code Playgroud)

你可以在上面添加任何你喜欢的列,Laravel 不会介意。

或者您可以创建一个新的迁移并使其在该表上添加一列。

$table->integer('user_id')->unsigned();
Run Code Online (Sandbox Code Playgroud)

您可以为其创建一个模型:

class SessionModel extends Eloquent {

}
Run Code Online (Sandbox Code Playgroud)

并用它做任何你需要做的事情:

$session = SessionModel::find(Session::getId());
$session->user_id = 1;
$session->save();
Run Code Online (Sandbox Code Playgroud)

但是,如果您正在考虑向有效负载(Laravel 保存会话数据的地方)添加更多信息,尽管我认为这是可能的,但您必须在 Laravel 代码中进行更多挖掘才能做到这一点。