Sommer Style, Avatare, Duplikate
This commit is contained in:
@@ -23,4 +23,34 @@ class Film extends Eloquent {
|
||||
return $query->whereNull('gesehen')->orderBy('updated_at', 'DESC')->take(5);
|
||||
}
|
||||
|
||||
public function scopeMeistgewunschteVorschlage($query) {
|
||||
$nextfilm = Dumbo::find(1)->film;
|
||||
return $query
|
||||
->addSelect(DB::raw('film_films.*, COUNT(case when film_votes.stimme IS TRUE then 1 end) as upvotes'))
|
||||
->leftJoin('votes', 'votes.film', '=', 'films.id')
|
||||
->whereNull('gesehen')
|
||||
->where('films.id', "!=", is_object($nextfilm) ? $nextfilm->id : 0)
|
||||
->groupBy('films.id')
|
||||
->orderBy('upvotes', 'DESC')
|
||||
->orderBy('vorgeschlagen', 'ASC')
|
||||
->take(5);
|
||||
}
|
||||
|
||||
public function getVotes() {
|
||||
return Vote::where('film', '=', $this->id)->count();
|
||||
}
|
||||
|
||||
public function getUpvotes() {
|
||||
return Vote::where('film', '=', $this->id)->whereRaw('stimme IS TRUE')->count();
|
||||
}
|
||||
|
||||
public function getBewertung() {
|
||||
if(!is_null($this->gesehen)) {
|
||||
$count = Comment::where('film', $this->id)->where('bewertung', '>', 0)->count();
|
||||
return $count > 0 ? Comment::where('film', $this->id)->where('bewertung', '>', 0)->sum('bewertung') / $count : 0;
|
||||
|
||||
} else return (0);
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user