Пример #1
0
 /**
  * @param int $page
  * @param string $query
  * @param int $amount
  * @return \Filmoteca\Pagination\Results
  */
 public function paginate($page = 1, $query = '', $amount = 15)
 {
     $results = Results::make();
     $resources = $this->resource->whereHas('exhibitionFilm', function ($q) use($query) {
         $q->whereHas('film', function ($q) use($query) {
             $q->where('films.title', 'like', '%' . $query . '%');
         });
     })->orderBy('id', 'desc')->skip($amount * ($page - 1))->take($amount)->with('exhibitionFilm', 'exhibitionFilm.film')->get();
     $total = $this->resource->whereHas('exhibitionFilm', function ($q) use($query) {
         $q->whereHas('film', function ($q) use($query) {
             $q->where('films.title', 'like', '%' . $query . '%');
         });
     })->count();
     $results->setTotal($total);
     $results->setItems($resources);
     return $results;
 }
Пример #2
0
 /**
  * @param int $page
  * @param string $query
  * @param int $itemsPerPage
  * @return \Filmoteca\Pagination\Results
  */
 public function paginate($page = 1, $query = '', $itemsPerPage = 15)
 {
     $results = Results::make();
     $films = $this->resource->where('title', 'like', '%' . $query . '%')->whereOr('original_title', 'like', '%' . $query . '%')->orderBy('created_at', 'DESC')->skip(($page - 1) * $itemsPerPage)->take($itemsPerPage)->get();
     $totalFilms = $this->resource->where('title', 'like', '%' . $query . '%')->whereOr('original_title', 'like', '%' . $query . '%')->count();
     $results->setItems($films);
     $results->setTotal($totalFilms);
     return $results;
 }