Movies::add()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 3
rs 10
cc 1
eloc 1
nc 1
nop 1
1
<?php
2
3
namespace App\Http\Models;
4
5
use App\Http\Cart\ItemInterface;
6
use Illuminate\Database\Eloquent\Model;
7
use Illuminate\Support\Facades\DB;
8
9
/**
10
 * Classe qui va stocker mes requetes autoirs
11
 * de ma table movies
12
 * Hérite de ma super classe Model.
13
 */
14
class Movies extends Model implements ItemInterface
15
{
16
    protected $fillable = ['title', 'description', 'categories_id'];
17
18
    /**
19
     * Décrit le nom de la table
20
     * que classe fait référence.
21
     */
22
    protected $table = 'movies';
23
24
    /**
25
     *  Retourne tous les films.
26
     */
27
    public function getAllMovies()
28
    {
29
        return DB::table('movies')->get();
30
    }
31
32
    /**
33
     * Return moyenne des notes de presse.
34
     */
35
    public function getAvgNotePresse()
36
    {
37
        $result = DB::table('movies')
38
                ->select(DB::raw('ROUND(AVG(note_presse)) as avgpress'))
39
                ->first();
40
41
        return $result;
42
    }
43
44
    /***************************************************** Relationships ***********************************************************/
45
46
    /**
47
     * Retourne la catégorie à laquelle appartient un objet film
48
     * Many To One : n..1.
49
     *
50
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
51
     */
52
    public function categories()
53
    {
54
        return $this->belongsTo('App\Http\Models\Categories');
55
    }
56
57
    /**
58
     * belongsToMany(): Many To Many.
59
     */
60
    public function user()
61
    {
62
        return $this->belongsToMany('App\Http\Models\User', 'user_favoris', 'movies_id', 'user_id');
63
    }
64
65
    /**
66
     * belongsToMany(): Many To Many.
67
     *
68
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
69
     */
70
    public function actors()
71
    {
72
        return $this->belongsToMany('App\Http\Models\Actors');
73
    }
74
75
    public function directors()
76
    {
77
        return $this->belongsToMany('App\Http\Models\Directors');
78
    }
79
80
    public function comments()
81
    {
82
        return $this->hasMany('App\Http\Models\Comments');
83
    }
84
85
    public function sessions()
86
    {
87
        return $this->hasMany('App\Http\Models\Sessions');
88
    }
89
90
    public function recommandations()
91
    {
92
        return $this->hasMany('App\Http\Models\Recommandations');
93
    }
94
95
    /**
96
     * @param ItemInterface $item
97
     */
98
    public function add(ItemInterface $item)
99
    {
100
    }
101
102
    /**
103
     * @param ItemInterface $item
104
     */
105
    public function remove(ItemInterface $item)
106
    {
107
        // TODO: Implement remove() method.
108
    }
109
}
110