diff --git a/app/Livewire/MoviePage/Tabs/Cast.php b/app/Livewire/MoviePage/Tabs/Cast.php index a49a554..dba6108 100644 --- a/app/Livewire/MoviePage/Tabs/Cast.php +++ b/app/Livewire/MoviePage/Tabs/Cast.php @@ -32,6 +32,5 @@ class Cast extends Component ]; } $this->peopleByDepartment = $peopleByDepartment; - } } diff --git a/app/Livewire/MoviePage/Tabs/Crew.php b/app/Livewire/MoviePage/Tabs/Crew.php index 0a85649..05d7c08 100644 --- a/app/Livewire/MoviePage/Tabs/Crew.php +++ b/app/Livewire/MoviePage/Tabs/Crew.php @@ -2,12 +2,36 @@ namespace App\Livewire\MoviePage\Tabs; +use App\Models\Movie; +use App\Models\Person; use Livewire\Component; class Crew extends Component { + public $movie; + public $peopleByDepartment; + public function render() { return view('livewire.movie-page.tabs.crew'); } + + public function mount() + { + $this->movie = Movie::with('crewList')->where('id', $this->movie->id)->first(); + + $peopleByDepartment = []; + + foreach ($this->movie->crewList as $castMember) { + + if (!isset($peopleByDepartment[$castMember->pivot->department])) { + $peopleByDepartment[$castMember->pivot->department] = []; + } + $peopleByDepartment[$castMember->pivot->department][] = [ + Person::find($castMember->pivot->person_id), + $castMember->pivot->job, + ]; + } + $this->peopleByDepartment = $peopleByDepartment; + } } diff --git a/app/Models/Movie.php b/app/Models/Movie.php index c4bb82b..b753b06 100644 --- a/app/Models/Movie.php +++ b/app/Models/Movie.php @@ -56,7 +56,7 @@ class Movie extends Model public function crewList() { - return $this->belongsToMany(Person::class, 'movie_crew', 'movie_id', 'person_id'); + return $this->belongsToMany(Person::class, 'movie_crew', 'movie_id', 'person_id')->withPivot('department', 'job'); } public function images() diff --git a/resources/views/livewire/movie-page/tabs/crew.blade.php b/resources/views/livewire/movie-page/tabs/crew.blade.php index bc7718c..67506b7 100644 --- a/resources/views/livewire/movie-page/tabs/crew.blade.php +++ b/resources/views/livewire/movie-page/tabs/crew.blade.php @@ -1,3 +1,31 @@