where('ip', $attributes['ip']) ->where('created_at', '>=', now()->subMinutes(30)) ->whereNotNull('session') ->orderBy('created_at', 'desc') ->first(); if ($previousRow !== null) { $attributes['session'] = $previousRow->session; } else { $lastSession = self::max('session'); $attributes['session'] = ($lastSession + 1); } return static::create($attributes); } }