Completed
Push — master ( 17909b...b957b5 )
by Mikaël
18:52 queued 08:52
created

Translation::source()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace BBSLab\NovaTranslation\Models;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Illuminate\Database\Eloquent\Relations\MorphTo;
7
8
/**
9
 * @property int $id
10
 * @property int $locale_id
11
 * @property int $translation_id
12
 * @property int $translatable_id
13
 * @property string $translatable_type
14
 * @property int $translatable_source
15
 * @property \BBSLab\NovaTranslation\Models\Locale $locale
16
 * @property \BBSLab\NovaTranslation\Models\Contracts\IsTranslatable $translatable
17
 * @property \BBSLab\NovaTranslation\Models\Contracts\IsTranslatable $source
18
 */
19
class Translation extends Model
20
{
21
    /**
22
     * {@inheritdoc}
23
     */
24
    protected $table = 'translations';
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public $timestamps = false;
30
31
    /**
32
     * {@inheritdoc}
33
     */
34
    protected $fillable = [
35
        'locale_id',
36
        'translation_id',
37
        'translatable_id',
38
        'translatable_type',
39
        'translatable_source',
40
    ];
41
42
    /**
43
     * Translatable polymorphic relationship.
44
     *
45
     * @return \Illuminate\Database\Eloquent\Relations\MorphTo
46
     */
47
    public function translatable(): MorphTo
48
    {
49
        return $this->morphTo();
50
    }
51
52
    public function source(): MorphTo
53
    {
54
        return $this->morphTo('source', 'translatable_type', 'translatable_source');
55
    }
56
57
    /**
58
     * Locale relationship.
59
     *
60
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
61
     */
62
    public function locale()
63
    {
64
        return $this->belongsTo(Locale::class);
65
    }
66
}
67