Passed
Push — master ( 6b0e6b...43789e )
by Stephen
03:30
created

TrackTraffic::query()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Sfneal\Tracking\Models;
4
5
use Illuminate\Database\Eloquent\Builder;
6
use Illuminate\Database\Eloquent\Relations\BelongsTo;
7
use Sfneal\Tracking\Builders\TrackTrafficBuilder;
8
use Sfneal\Tracking\Models\Base\AbstractTracking;
9
10
class TrackTraffic extends AbstractTracking
11
{
12
    protected $table = 'track_traffic';
13
    protected $primaryKey = 'track_traffic_id';
14
15
    protected $fillable = [
16
        'track_traffic_id',
17
        'user_id',
18
        'session_id',
19
        'app_version',
20
        'app_environment',
21
        'request_host',
22
        'request_uri',
23
        'request_method',
24
        'request_payload',
25
        'request_browser',
26
        'request_ip',
27
        'request_referrer',
28
        'request_token',
29
        'response_code',
30
        'response_time',
31
        'response_content',
32
        'agent_platform',
33
        'agent_device',
34
        'agent_browser',
35
        'time_stamp',
36
    ];
37
38
    /**
39
     * Query Builder.
40
     *
41
     * @param $query
42
     *
43
     * @return TrackTrafficBuilder
44
     */
45
    public function newEloquentBuilder($query)
46
    {
47
        return new TrackTrafficBuilder($query);
48
    }
49
50
    /**
51
     * @return TrackTrafficBuilder|Builder
52
     */
53
    public static function query(): TrackTrafficBuilder
54
    {
55
        return parent::query();
56
    }
57
58
    /**
59
     * Tracked activity that is associated with this traffic record.
60
     *
61
     * @return BelongsTo
62
     */
63
    public function activity()
64
    {
65
        return $this->belongsTo(TrackActivity::class, 'request_token', 'request_token');
66
    }
67
68
    /**
69
     * Set the `app_environment` attribute.
70
     *
71
     * @param null $value
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $value is correct as it would always require null to be passed?
Loading history...
72
     */
73
    public function setAppEnvironmentAttribute($value = null)
74
    {
75
        $this->attributes['app_environment'] = (isset($value) ? $value : env('APP_ENV'));
76
    }
77
}
78