Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 19.02.2019 16:43:50

Проблемы с пагинацией

В настоящее время пока что имеются 3 страницы:

1. Главная
2. Фильмы
3. Сериалы



Содержимое КОНТРОЛЛЕРА в части главной страницы:

public function main_page() {
			
        //$movies = Movie::all();
	$movies = Movie::paginate(5);
		
	$news = Information::all();
		
	return view('main_page')->with(['movies' => $movies, 'news' => $news]);
		
}

Содержимое САМОЙ главной страницы:

@extends('layouts.index')



@section('title')

	<title>Киномонстер Bootstrap</title>

@endsection



@section('header')

	<li class="active"> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
	<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
	<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
	<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
	<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
	<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
	<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>

@endsection



@section('content')

<!--//	<h2>Новые фильмы</h2>	//-->
	<h2>Новые фильмы и сериалы</h2>
	<hr>                 

	<div class="row">

		@foreach($movies as $movie)
		
			@if($movie->category_id == 1)		
		
				<div class="films_block col-lg-3 col-md-3 col-sm-3 col-xs-6">
					<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> <img src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "> </a>	
					<div class="film_label"> {{ $movie->name }} </div>
				</div>

			@endif		
		  
		@endforeach
						
	</div>                                               
	
	

	<div class="margin-8"></div>						 


					
<!--//	<h2>Новые сериалы</h2>	//-->
	<hr>                  
					
	<div class="row">
					
		@foreach($movies as $movie)
		
			@if($movie->category_id == 2)		
		
				<div class="films_block col-lg-3 col-md-3 col-sm-3 col-xs-6">
					<a href=" {{ route('serialShow',['id'=>$movie->id]) }} " target="_blank"> <img src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "> </a>	
					<div class="film_label"> {{ $movie->name }} </div>
				</div>

			@endif		
		  
		@endforeach
	   					
	</div>	
		
		{{ $movies->links() }}
					
@endsection


Содержимое КОНТРОЛЛЕРА в части страницы с фильмами:

public function films() {
		
	//$movies = Movie::all();
	$movies = Movie::paginate(5);
		
	$news = Information::all();
		
	return view('films-content')->with(['movies' => $movies, 'news' => $news]);
		
}

Содержимое САМОЙ страницы с фильмами:

@extends('layouts.index')



@section('title')

	<title>Фильмы</title>

@endsection



@section('header')

	<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
	<li class="active"> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
	<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
	<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
	<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
	<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
	<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>

@endsection



@section('content')
		
	<h1>Фильмы</h1>
	<hr>
					
	@foreach($movies as $movie)

		@if($movie->category_id == 1)
					
			<div class="row">
				<div class="well clearfix">
					<div class="col-lg-3 col-md-2 text-center">
						<img class="img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} ">
						<p> {{ $movie->name }} </p>
					</div>
					<div class="col-lg-9 col-md-10">
						<p> {{ $movie->decsription }} </p>
					</div>
					<div class="col-lg-12">
						<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
					</div>
				</div>
			</div>
		
		@endif
	
	@endforeach 

	{{ $movies->links() }}
	
@endsection


Содержимое КОНТРОЛЛЕРА в части страницы с сериалами:

public function serials() {
		
	//$movies = Movie::all();
	$movies = Movie::paginate(5);
		
	$news = Information::all();
		
	return view('serials-content')->with(['movies' => $movies, 'news' => $news]);
		
}

Содержимое САМОЙ страницы с сериалами:

@extends('layouts.index')



@section('title')

	<title>Сериалы</title>

@endsection



@section('header')

	<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
	<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
	<li class="active"> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
	<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
	<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
	<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
	<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>

@endsection


 
@section('content')
		
	<h1>Сериалы</h1>
	<hr>
					
	@foreach($movies as $movie)

		@if($movie->category_id == 2)
					
			<div class="row">
				<div class="well clearfix">
					<div class="col-lg-3 col-md-2 text-center">
						<img class="img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} ">
						<p> {{ $movie->name }} </p>
					</div>
					<div class="col-lg-9 col-md-10">
						<p> {{ $movie->decsription }} </p>
					</div>
					<div class="col-lg-12">
						<a href=" {{ route('serialShow',['id'=>$movie->id]) }} " target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
					</div>
				</div>
			</div>
		
		@endif
	
	@endforeach 

	{{ $movies->links() }}
	
@endsection




Вопросы:

1. Возможно ли на главной странице сделать 2 пагинации (отдельно для фильмов и отдельно для сериалов)? Если да, то как именно это сделать в моём случае?
2.1. Почему на странице с фильмами пагинация делит весь контент на 10 частей(страничных ссылок) (когда нужно-то всего 5) и ФИЛЬМЫ ОТОБРАЖАЮТСЯ ТОЛЬКО С 1-Й ПО 5-Ю ВКЛЮЧИТЕЛЬНО, А ОСТАЛЬНЫЕ СТРАНИЧНЫЕ ССЫЛКИ (С 6-Й ПО 10-Ю ВКЛЮЧИТЕЛЬНО) ПУСТУЮТ?
КАК ЭТО ИСПРАВИТЬ В МОЁМ СЛУЧАЕ?
2.2. Аналогичная ситуация со страницей с сериалами, лишь с той разницей, что ЗДЕСЬ, НАОБОРОТ, ПУСТУЮТ С 1-Й ПО 5-Ю СТРАНИЧНЫЕ ССЫЛКИ ВКЛЮЧИТЕЛЬНО.
КАК ЭТО ИСПРАВИТЬ В МОЁМ СЛУЧАЕ?

Не в сети

#2 19.02.2019 16:59:44

Re: Проблемы с пагинацией

А для фильмов и сериалов имеется одна переменная $movies ?

Не в сети

#3 19.02.2019 17:20:34

Re: Проблемы с пагинацией

Я в контроллерах фильмов и сериалов по отдельности дублировал переменную $movies

Не в сети

Подвал раздела