Passed
Push — feature/application-experience... ( 15ccad...337d86 )
by Tristan
04:00
created

ExperienceCommunity   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 19
c 1
b 0
f 0
dl 0
loc 35
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A experience_skills() 0 3 1
A experienceable() 0 3 1
A skills() 0 3 1
1
<?php
2
3
namespace App\Models;
4
5
use App\Models\BaseModel;
6
7
/**
8
 * Class ExperienceCommunity
9
 *
10
 * @property int $id
11
 * @property string $title
12
 * @property string $group
13
 * @property string $project
14
 * @property boolean $is_active
15
 * @property \Jenssegers\Date\Date $start_date
16
 * @property \Jenssegers\Date\Date $end_date
17
 * @property int $experienceable_id
18
 * @property string $experienceable_type
19
 * @property \Jenssegers\Date\Date $created_at
20
 * @property \Jenssegers\Date\Date $updated_at
21
 *
22
 * @property \App\Models\Applicant|\App\Models\JobApplication $experienceable
23
 * @property \Illuminate\Database\Eloquent\Collection $skills
24
 * @property \Illuminate\Database\Eloquent\Collection $experience_skills
25
 */
26
class ExperienceCommunity extends BaseModel
27
{
28
    protected $casts = [
29
        'title' => 'string',
30
        'group' => 'string',
31
        'project' => 'string',
32
        'is_active' => 'boolean',
33
        'start_date' => 'date',
34
        'end_date' => 'date'
35
    ];
36
37
    protected $fillable = [
38
        'title',
39
        'group',
40
        'project',
41
        'is_active',
42
        'start_date',
43
        'end_date'
44
    ];
45
46
    protected $table = 'experiences_community';
47
48
    public function experienceable() //phpcs:ignore
49
    {
50
        return $this->morphTo();
51
    }
52
53
    public function skills()
54
    {
55
        return $this->morphToMany(\App\Models\Skill::class, 'experience', 'experience_skills');
56
    }
57
58
    public function experience_skills() //phpcs:ignore
59
    {
60
        return $this->morphMany(\App\Models\ExperienceSkill::class, 'experience');
61
    }
62
}
63