room_id = $room_id; $this->room = Room::find($room_id); $this->showing_id = $showing_id; } public function matrixGenerate() { // returns a matrix of seats $m = []; // first make empty matrix for ($i = 0; $i < $this->room->room_rows-1; $i++) { $m[$i] = []; for ($j = 0; $j < $this->room->room_columns-1; $j++) { $m[$i][$j] = null; } } $seats = $this->room->seats; foreach ($seats as $seat) { $m[$seat->seat_row][$seat->seat_column] = $seat; } return $m; } /** * Get the view / contents that represent the component. * * @return \Illuminate\Contracts\View\View|\Closure|string */ public function render() { return view('components.seat-chooser', [ 'room' => $this->room, 'seatmatrix' => $this->matrixGenerate(), 'showing_id' => $this->showing_id, ]); } }