چگونگی ذخیره آخرین زمان و آی پی آدرس ورود کاربر در لاراول

۱۸ اردیبهشت ۱۳۹۷

طراحی سایت

ما در این مقاله یک روش برای ثبت آخرین تاریخ و آخرین IP ورود کاربر به پروژه های طراحی سایت در لاراول را به شما نشان خواهیم داد. ابتدا یک database migration به شکل زیر در ست می کنیم:


php artisan make:migration add_login_fields_to_users_table

و فیلدهای زیر را اضافه می کنیم:


class AddLoginFieldsToUsersTable extends Migration
{

    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->datetime('last_login_at')->nullable();
            $table->string('last_login_ip')->nullable();
        });
    }

    // ...

همچنین شما نیاز دارید فیلدهای زیر را به مدل app/User.php اضافه کنید:


class User extends Authenticatable
{
    protected $fillable = [
        'email',
        'password',
        'name',
        'last_login_at',
        'last_login_ip',
    ];

    // ...

در لاراول متدی به نام authenticated در AuthenticatesUsers trait وجود دارد:


/**
 * The user has been authenticated.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function authenticated(Request $request, $user)
{
    //
}

این trait method خالی است بنابراین در LoginController کدهای زیر را وارد می کنیم:


function authenticated(Request $request, $user)
{
    $user->update([
        'last_login_at' => Carbon::now()->toDateTimeString(),
        'last_login_ip' => $request->getClientIp()
    ]);
}

بعد از ثبت اطلاعات در جدول users رکوردها را به شکل زیر خواهید دید:

طراحی سایت با لاراول

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(479)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}