Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
47 / 47 |
|
100.00% |
5 / 5 |
CRAP | |
100.00% |
1 / 1 |
Conversion | |
100.00% |
47 / 47 |
|
100.00% |
5 / 5 |
6 | |
100.00% |
1 / 1 |
status | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
statusUser | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
currency | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
notes | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
jsonSerialize | |
100.00% |
43 / 43 |
|
100.00% |
1 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace App\Models; |
4 | |
5 | use Illuminate\Database\Eloquent\Factories\HasFactory; |
6 | use Illuminate\Database\Eloquent\Model; |
7 | use Illuminate\Database\Eloquent\Relations\HasOne; |
8 | use Illuminate\Database\Eloquent\Relations\HasMany; |
9 | use Illuminate\Database\Eloquent\Relations\BelongsTo; |
10 | use Illuminate\Database\Eloquent\Relations\BelongsToMany; |
11 | |
12 | class Conversion extends Model |
13 | { |
14 | use HasFactory; |
15 | |
16 | protected $table = "conversions"; |
17 | |
18 | /** |
19 | * Status name relationship |
20 | */ |
21 | public function status():HasOne |
22 | { |
23 | return $this->hasOne('App\Models\ConversionStatus', 'id', 'status_id'); |
24 | } |
25 | |
26 | /** |
27 | * Status name relationship |
28 | */ |
29 | public function statusUser():HasOne |
30 | { |
31 | return $this->hasOne('App\Models\User', 'id', 'status_user_id'); |
32 | } |
33 | |
34 | /** |
35 | * Currency relationship |
36 | */ |
37 | public function currency():HasOne |
38 | { |
39 | return $this->hasOne('App\Models\ConversionCurrency', 'id', 'conversion_currency'); |
40 | } |
41 | |
42 | /** |
43 | * ConversionNotes relationship |
44 | * |
45 | * @return HasMany |
46 | */ |
47 | protected function notes():HasMany |
48 | { |
49 | return $this->hasMany('App\Models\ConversionNote', 'conversion_id', 'id')->orderBy('id', 'desc'); |
50 | } |
51 | |
52 | |
53 | /** |
54 | * Serialization |
55 | */ |
56 | public function jsonSerialize() |
57 | { |
58 | $statusUser = null; |
59 | if ($this->status->id) { |
60 | $statusUser = $this->statusUser; |
61 | } |
62 | |
63 | return [ |
64 | 'id' => $this->id, |
65 | 'gclid' => $this->gclid, |
66 | 'fbclid' => $this->fbclid, |
67 | 'event_category' => $this->event_category, |
68 | 'event_action' => $this->event_action, |
69 | 'event_label' => $this->event_label, |
70 | 'website_url' => $this->website_url, |
71 | 'utm_campaign_id' => $this->utm_campaign_id, |
72 | 'utm_campaign_source' => $this->utm_campaign_source, |
73 | 'utm_campaign_medium' => $this->utm_campaign_medium, |
74 | 'utm_campaign_name' => $this->utm_campaign_name, |
75 | 'utm_campaign_term' => $this->utm_campaign_term, |
76 | 'utm_campaign_content' => $this->utm_campaign_content, |
77 | 'conversion_name' => $this->conversion_name, |
78 | 'conversion_time' => $this->conversion_time, |
79 | 'conversion_value' => $this->conversion_value, |
80 | 'conversion_currency' => $this->currency->name, |
81 | //'conversion_state' => $this->conversion_state, |
82 | 'nw' => $this->nw, |
83 | 'cmpid' => $this->cmpid, |
84 | 'agid' => $this->agid, |
85 | 'fiid' => $this->fiid, |
86 | 'tgid' => $this->tgid, |
87 | 'loc' => $this->loc, |
88 | 'ploc' => $this->ploc, |
89 | 'match' => $this->match, |
90 | 'dev' => $this->dev, |
91 | 'devm' => $this->devm, |
92 | 'cmpt' => $this->cmpt, |
93 | 'ad' => $this->ad, |
94 | 'pl' => $this->pl, |
95 | 'pltar' => $this->pltar, |
96 | 'pr1' => $this->pr1, |
97 | 'pr2' => $this->pr2, |
98 | 'url' => $this->url, |
99 | 'adpos' => $this->adpos, |
100 | 'mobile' => (bool)$this->mobile, |
101 | 'created_at' => $this->created_at, |
102 | 'updated_at' => $this->updated_at, |
103 | 'status' => $this->status->name, |
104 | 'status_user' => $statusUser, |
105 | 'notes' => $this->notes, |
106 | ]; |
107 | } // jsonSerialize |
108 | } |