session_id) !== true) { $request = request(); if ($request !== null) { $session = AnalyticsSession::where('ip', $request->ip()) ->where('useragent', $request->userAgent()) ->where('ended_at', '>=', now()->subMinutes(30)) ->first(); if ($session === null) { $session = AnalyticsSession::create([ 'ip' => $request->ip(), 'useragent' => $request->userAgent(), 'ended_at' => now() ]); } $analytics->session_id = $session->id; } } }); } /** * Return the Analytics Session model. * * @return BelongsTo */ public function session(): BelongsTo { return $this->belongsTo(AnalyticsSession::class, 'id', 'session_id'); } }