Laravel по-русски

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

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

#1 31.01.2019 02:06:01

Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Всем здравствуйте, уважаемые форумчане!!!
Очень хочу обратиться к вам со следующей проблемой:

Относительно недавно начал изучать WEB-программирование (примерно с августа 2018 г.), в процессе чего случайно нашёл на каком-то сайте "beonmax.com/ru/" платные курсы по WEB-программированию от некоего "знатока" Сергея Никонова.
Здесь можно долго вдаваться в подробности что из себя представляют эти курсы (создание проекта "Киномонстр" (некоего подобия сайта "kinopoisk.ru") сначала в классическом виде (без использования фреймворков и прочих вспомогательных средств), затем с использованием фреймворка "Bootstrap", затем он создаёт БД "MySQL", подключает к нему свой проект....... и т.д... ).
Наконец автор доходит до "оживления" своего сайта с помощью PHP-фреймворка "CodeIgniter"! Слушал я его внимательно, слушал (повторяя всё за ним, естественно)... РАЗ не получилось всё то, что получилось у него, ДВА не получилось, а я стал интересоваться в чём дело и выяснил, что данный PHP-фреймворк-то, оказывается, бестолковый. Посоветовали мне, в общем, "Laravel".

На видеохостинге "Youtube.com" я нашёл видеоуроки по "laravel" (ссылка: "https://www.youtube.com/watch?v=oZGOnN7 … WHE-KCoNnE") от некоего очередного знатока (здесь это слово пишу без кавычек, так как последний меня пока не разочаровал).
Его методику я применил к своему "сырому" проекту и вот что у меня получилось:




Содержимое файла "web.php":

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

/* Route::get('/', function () {
    return view('welcome');
}); */

Route::get('main.blade.php', 'IndexController@index')->name('main');

Route::get('films.blade.php', 'IndexController@films')->name('filmsShow');
Route::get('film/{id}', 'IndexController@film')->name('filmShow');

Route::get('serials.blade.php', 'IndexController@serials')->name('serialsShow');
Route::get('serial/{id}', 'IndexController@serial')->name('serialShow');

Содержимое файла "IndexController.php":

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request; 

use App\Movie;

class IndexController extends Controller
{
	
	
	
	public function index() {
			
		$movies = Movie::all(); 
		
		return view('main')->with(['movies' => $movies]);
		
	}
	
	
	
	public function films() {
		
		$movies = Movie::all();
		
		return view('films-content')->with(['movies' => $movies]);
		
	}
	
	public function film($id) {
		
		$movie = Movie::all()->where('id', $id)->first();
		
		return view('film-content')->with(['movie' => $movie]);
		
	}
	
	
	
	public function serials() {
		
		$movies = Movie::all();
		
		return view('serials-content')->with(['movies' => $movies]);
		
	}
	
	public function serial($id) {
		
		$movie = Movie::all()->where('id', $id)->first();
		
		return view('serial-content')->with(['movie' => $movie]);
		
	}
	
} 

Содержимое файла "main.blade.php" (ГЛАВНОЙ СТРАНИЦЫ моего учебного проекта):

@extends('layouts.index')

@section('content')

<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>											   
					
<div class="margin-8"></div>                       
					
<a href="#"><h3>Актёр Том Хенкс поделился впечатлением о фестивале</h3></a>
<hr>
<p>
	16 февраля в Лондоне состоялась 67-я церемония вручения наград Британской киноакадемии. Леонардо ДиКаприо, Брэд Питт, Анджелина Джоли, Кейт Бланшетт, Хелен Миррен, Эми Адамс, Кристиан Бэйл, Альфонсо Куарон и другие гости и победители премии — в нашем репортаже.
</p>
<a href="#" class="btn btn-warning pull-right">читать</a>

@endsection

Содержимое файла "index.blade.php" (страницы, В КОТОРУЮ ВЫНЕСЕНЫ ЧАСТИ "HEADER", "БОКОВАЯ ПАНЕЛЬ" и "FOOTER" моего учебного проекта):

<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Киномонстер Bootstrap</title>
	<link rel="shortcut icon" href=" {{ asset('img/favicon.ico') }} ">

    <!-- Bootstrap -->
    <link rel="stylesheet" href=" {{ asset('css/bootstrap.min.css') }} ">
	<link rel="stylesheet" href=" {{ asset('css/style.css') }} ">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    
	<div class="container-fluid">
		
		<div class="row">
		
			<nav role="navigation" class="navbar navbar-inverse">
				
				<div class="container">
				
					<div class="navbar-header header">
					
						<div class="container">
						
							<div class="row">
							
								<div class="col-lg-12">
									<h1><a href=" {{ route('main') }} " target="_blank">КиноМонстр</a></h1>
									<p>Кино - наша страсть!</p>
								</div>
							
							</div>
						
						</div>
					
						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbarCollapse">
						
							<span class="sr-only">Toggle navigation</span>
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
						
						</button>
					
					</div>
					
					<div class="collapse navbar-collapse navbar-right" id="navbarCollapse">
					
						<ul class="nav nav-pills">
							<li class="active"> <a href=" {{ route('main') }} " 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="films-rating.html" target="_blank">Рейтинг фильмов</a> </li>
							<li> <a href="serials-rating.html" target="_blank">Рейтинг сериалов</a> </li>
							<li> <a href="contacts.html" target="_blank">Контакты</a> </li>
						</ul>
						
					</div>	
					
				</div>
			
			</nav>
		
		</div>
	
	</div>
	
	
	
	<div class="wrapper">
	
		<div class="container">
		
			<div class="row">
				
				<div class="col-lg-9 col-lg-push-3">
					
					<form action="#" role="search" class="visible-xs">
						<div class="form-group">
							<div class="input-group">
								<input type="search" class="form-control input-lg" placeholder="Ваш запрос">
								<div class="input-group-btn">
									<button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
								</div>
							</div>
						</div>
					</form>
					
				@yield('content')				
					
				</div>
				
				<div class="col-lg-3 col-lg-pull-9">
					
					<div class="panel panel-info hidden-xs">
						
						<div class="panel-heading">
							<div class="sidebar-header">Поиск</div>
						</div>
						
						<div class="panel-body">
							<form action="#" role="search">
								<div class="form-group">
									<div class="input-group">
										<input type="search" class="form-control input-lg" placeholder="Ваш запрос">
										<div class="input-group-btn">
											<button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
										</div>
									</div>
								</div>
							</form>
						</div>
						
					</div>
					
					<div class="panel panel-info">
						
						<div class="panel-heading">
							<div class="sidebar-header">Вход</div>
						</div>
						
						<div class="panel-body">
							<form action="#" role="form">
								<div class="form-group">
										<input type="text" class="form-control input-lg" placeholder="Логин">
								</div>
								<div class="form-group">
									<input type="password" class="form-control input-lg" placeholder="Пароль">
								</div>
								<button type="submit" class="btn btn-warning pull-right">Вход</button>
							</form>
						</div>
						
					</div>
					
					<div class="panel panel-info">
						
						<div class="panel-heading">
							<div class="sidebar-header">Новости</div>
						</div>
						
						<div class="panel-body">
							<p>31.02.2017</p>
							<p>Мы запустили новый сервис</p>
						</div>
					
					</div>
					
					<div class="panel panel-info">
						
						<div class="panel-heading">
							<div class="sidebar-header">Рейтинг фильмов</div>
						</div>
						
						<div class="panel-body">
							
							<ul class="list-group">
								
								@foreach($movies as $movie)				

									@if($movie->category_id == 1)				
								
										<li class="list-group-item list-group-warning">
											<span class="badge"> {{ $movie->rating }} </span>
											<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
										</li>
										
									@endif
									
								@endforeach
								
<!--//								<li class="list-group-item list-group-warning">
									<span class="badge">7.590</span>
									<a href="Matrix.html" target="_blank">Матрица: Революция</a>
								</li>
								
								<li class="list-group-item list-group-warning">
									<span class="badge">7.726</span>
									<a href="CloudAtlas.html" target="_blank">Облачный атлас</a>
								</li>
								
								<li class="list-group-item list-group-warning">
									<span class="badge">7.813</span>
									<a href="MadMax.html" target="_blank">Безумный Макс: Дорога ярости</a>
								</li>				//-->
								
							</ul>
							
						</div>
						
					</div>
					
					<div class="panel panel-info">
						
						<div class="panel-heading">
							<div class="sidebar-header">Рейтинг сериалов</div>
						</div>
						
						<div class="panel-body">
							
							<ul class="list-group">
								
								@foreach($movies as $movie)				

									@if($movie->category_id == 2)				
								
										<li class="list-group-item list-group-warning">
											<span class="badge"> {{ $movie->rating }} </span>
											<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
										</li>
										
									@endif
									
								@endforeach
								
<!--//								<li class="list-group-item list-group-warning">
									<span class="badge">8.185</span>
									<a href="SiliconValley.html" target="_blank">Силиконовая долина</a>
								</li>
								
								<li class="list-group-item list-group-warning">
									<span class="badge">7.273</span>
									<a href="TheWalkingDead.html" target="_blank">Ходячие мертвецы</a>
								</li>
								
								<li class="list-group-item list-group-warning">
									<span class="badge">8.856</span>
									<a href="BreakingBad.html" target="_blank">Во все тяжкие</a>
								</li>				//-->
								
							</ul>
							
						</div>
					
					</div>
					
				</div>
				
			</div>
				
		</div>
	
		<div class="clear"></div>
	
	</div>
	
	<footer>
	
		<div class="container">
			<p class="text-center"> <a href="http://ru.wh-db.com">WH-DB.COM</a> </p>
		</div>
	
	</footer>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="assets/js/bootstrap.min.js"></script>
  </body>
</html>

Содержимое файла "films-content.blade.php" (страницы С ФИЛЬМАМИ моего учебного проекта):

@extends('layouts.index')

@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
					
<!--//				<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/matrix.png" alt="Матрица: Революция">
			<p>Матрица: Революция</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Пока армия Машин пытается уничтожить Зион, его жители из последних сил держат оборону. Но удастся ли им предотвратить полное вторжение в город кишащей орды беспощадных машин до того, как Нео соберет все свои силы и положит конец войне?
			</p>
		</div>
		<div class="col-lg-12">
			<a href="Matrix.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>
					
<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/cloud.png" alt="Облачный атлас">
			<p>Облачный атлас</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Шесть историй — пять реинкарнаций, происходящих в разное время, тесно переплетаются между собой…
			</p>
		</div>
		<div class="col-lg-12">
			<a href="CloudAtlas.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>
						
<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/max.png" alt="Безумный Макс: Дорога ярости">
			<p>Безумный Макс: Дорога ярости</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Преследуемый призраками беспокойного прошлого, Макс уверен, что лучший способ выжить — скитаться в одиночестве. Несмотря на это, он присоединяется к бунтарям, бегущим через всю пустыню на боевой фуре, под предводительством военачальника Фуриосы.
				Они пытаются сбежать из Цитадели, страдающей от тирании Несмертного Джо, у которого они забрали кое-что очень ценное. Разъярённый военачальник бросает все свои силы на погоню за мятежниками, ступая на дорогу войны — дорогу ярости.
			</p>
		</div>
		<div class="col-lg-12">
			<a href="MadMax.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>				//-->                                            
	
@endsection				

Содержимое файла "film-content.blade.php" (страницы С ОДНИМ ИЗ ФИЛЬМОВ моего учебного проекта):

@extends('layouts.index')

@section('content')

<div class="row">
		
	@if($movie->category_id == 1)

		<h1> {{ $movie->name }} </h1>
		<hr>
					
		<div class="embed-responsive embed-responsive-16by9">	
			<iframe class="embed-responsive-item" src=" {{ $movie->player_code }} " frameborder="0" allowfullscreen></iframe>
		</div>

		<div class="well info-block text-center">
			Год: <span class="badge"> {{ $movie->year }} </span>
			Рейтинг: <span class="badge"> {{ $movie->rating }} </span>
			Режиссёр(-ы): <span class="badge"> {{ $movie->producer }} </span>
		</div>
					
		<div class="margin-8"></div>
					
		<h2>Описание фильма "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="well">
			<p> {{ $movie->description }} </p>			
		</div>
					
		<div class="margin-8"></div>
					
		<a href="#"><h3>Как снимали фильм "{{ $movie->name }}" </h3></a>
		<hr>

		<p>
						
			<p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
						
			<p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
						
			<p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
						
			<p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
						
			<p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
						
			<p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
						
		</p>

		<a href="#" class="btn btn-warning pull-right">читать</a>
					
		<div class="margin-8"></div>
					
		<h2>Отзывы о фильме "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
			<div class="panel-body">Отличный фильм, 3 часа пролетели незаметно.</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
			<div class="panel-body">После фильма Начало, я с нетерпением ждал еще работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
			<div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
		</div>
					
		<form action="#">
			<div class="form-group">
				<input type="text" placeholder="Ваше имя" class="form-control input-lg">
			</div>
			<div class="form-group">
				<textarea class="form-control"></textarea>
			</div>
			<button class="btn btn-lg btn-warning pull-right">Отправить</button>
		</form> 

	@endif 

</div>                                           
	
@endsection

Содержимое файла "serials-content.blade.php" (страницы С СЕРИАЛАМИ моего учебного проекта):

@extends('layouts.index')

@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
					
<!--//				<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/matrix.png" alt="Матрица: Революция">
			<p>Матрица: Революция</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Пока армия Машин пытается уничтожить Зион, его жители из последних сил держат оборону. Но удастся ли им предотвратить полное вторжение в город кишащей орды беспощадных машин до того, как Нео соберет все свои силы и положит конец войне?
			</p>
		</div>
		<div class="col-lg-12">
			<a href="Matrix.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>
					
<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/cloud.png" alt="Облачный атлас">
			<p>Облачный атлас</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Шесть историй — пять реинкарнаций, происходящих в разное время, тесно переплетаются между собой…
			</p>
		</div>
		<div class="col-lg-12">
			<a href="CloudAtlas.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>
						
<div class="row">
	<div class="well clearfix">
		<div class="col-lg-3 col-md-2 text-center">
			<img class="img-thumbnail" src="assets/img/max.png" alt="Безумный Макс: Дорога ярости">
			<p>Безумный Макс: Дорога ярости</p>
		</div>
		<div class="col-lg-9 col-md-10">
			<p>
				Преследуемый призраками беспокойного прошлого, Макс уверен, что лучший способ выжить — скитаться в одиночестве. Несмотря на это, он присоединяется к бунтарям, бегущим через всю пустыню на боевой фуре, под предводительством военачальника Фуриосы.
				Они пытаются сбежать из Цитадели, страдающей от тирании Несмертного Джо, у которого они забрали кое-что очень ценное. Разъярённый военачальник бросает все свои силы на погоню за мятежниками, ступая на дорогу войны — дорогу ярости.
			</p>
		</div>
		<div class="col-lg-12">
			<a href="MadMax.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
		</div>
	</div>
</div>				//-->                                            
	
@endsection

Содержимое файла "serial-content.blade.php" (страницы С ОДНИМ ИЗ СЕРИАЛОВ моего учебного проекта):

@extends('layouts.index')

@section('content')

<div class="row">
		
	@if($movie->category_id == 2)

		<h1> {{ $movie->name }} </h1>
		<hr>
					
		<div class="embed-responsive embed-responsive-16by9">	
			<iframe class="embed-responsive-item" src=" {{ $movie->player_code }} " frameborder="0" allowfullscreen></iframe>
		</div>

		<div class="well info-block text-center">
			Год: <span class="badge"> {{ $movie->year }} </span>
			Рейтинг: <span class="badge"> {{ $movie->rating }} </span>
			Режиссёр(-ы): <span class="badge"> {{ $movie->producer }} </span>
		</div>
					
		<div class="margin-8"></div>
					
		<h2>Описание сериала "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="well">
			<p> {{ $movie->description }} </p>			
		</div>
					
		<div class="margin-8"></div>
					
		<a href="#"><h3>Как снимали сериал "{{ $movie->name }}" </h3></a>
		<hr>

		<p>
						
			<p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
						
			<p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
						
			<p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
						
			<p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
						
			<p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
						
			<p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
						
		</p>

		<a href="#" class="btn btn-warning pull-right">читать</a>
					
		<div class="margin-8"></div>
					
		<h2>Отзывы о сериале "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
			<div class="panel-body">Отличный сериал, 3 часа пролетели незаметно.</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
			<div class="panel-body">После сериалаа Начало, я с нетерпением ждал ещё работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
			<div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
		</div>
					
		<form action="#">
			<div class="form-group">
				<input type="text" placeholder="Ваше имя" class="form-control input-lg">
			</div>
			<div class="form-group">
				<textarea class="form-control"></textarea>
			</div>
			<button class="btn btn-lg btn-warning pull-right">Отправить</button>
		</form> 

	@endif 

</div>                                           
	
@endsection



При попытке перехода на страницы каждого фильма (и каждого сериала тоже) по соответствующим ссылкам у меня выскакивает следующая ошибка:

ErrorException (E_ERROR)
Undefined variable: movies (View: C:\xampp\htdocs\www\kinomonster.laravel\resources\views\layouts\index.blade.php) (View: C:\xampp\htdocs\www\kinomonster.laravel\resources\views\layouts\index.blade.php)

Я самостоятельно искал пытался устранить данную проблему, но у меня это не вышло к сожалению! sad
КАК УСТРАНИТЬ ЭТУ ПРОБЛЕМУ???

Не в сети

#2 31.01.2019 15:24:26

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

передавайте в представления $movies вот так

return view('main', ['movies' => $movies]);

и в каждом действии так

Не в сети

#3 01.02.2019 01:08:22

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Можно с этого места поподробнее: где именно и какие именно данные мне необходимо поменять на указанные Вами?...

Не в сети

#4 01.02.2019 08:45:13

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

В контроллере в каждом действии передавайте в представление массив $movies

Не в сети

#5 01.02.2019 16:23:33

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Я сделал как Вы сказали и тем не менее у меня ничего не вышло! sad
Как быть?



IndexController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request; 

use App\Movie;

class IndexController extends Controller
{
    
    
    
    public function index() {
            
        $movies = Movie::all(); 
        
        return view('main')->with(['movies' => $movies]);
        
    }
    
    
    
    public function films() {
        
        $movies = Movie::all();
        
        return view('films-content')->with(['movies' => $movies]);
        
    }
    
    public function film($id) {
        
        $movies = Movie::all()->where('id', $id)->first();
        
        return view('film-content')->with(['movies' => $movies]);
        
    }
    
    
    
    public function serials() {
        
        $movies = Movie::all();
        
        return view('serials-content')->with(['movies' => $movies]);
        
    }
    
    public function serial($id) {
        
        $movies = Movie::all()->where('id', $id)->first();
        
        return view('serial-content')->with(['movies' => $movies]);
        
    }
    
} 


index.blade.php:

<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Киномонстер Bootstrap</title>
    <link rel="shortcut icon" href=" {{ asset('img/favicon.ico') }} ">

    <!-- Bootstrap -->
    <link rel="stylesheet" href=" {{ asset('css/bootstrap.min.css') }} ">
    <link rel="stylesheet" href=" {{ asset('css/style.css') }} ">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    
    <div class="container-fluid">
        
        <div class="row">
        
            <nav role="navigation" class="navbar navbar-inverse">
                
                <div class="container">
                
                    <div class="navbar-header header">
                    
                        <div class="container">
                        
                            <div class="row">
                            
                                <div class="col-lg-12">
                                    <h1><a href=" {{ route('main') }} " target="_blank">КиноМонстр</a></h1>
                                    <p>Кино - наша страсть!</p>
                                </div>
                            
                            </div>
                        
                        </div>
                    
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbarCollapse">
                        
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        
                        </button>
                    
                    </div>
                    
                    <div class="collapse navbar-collapse navbar-right" id="navbarCollapse">
                    
                        <ul class="nav nav-pills">
                            <li class="active"> <a href=" {{ route('main') }} " 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="films-rating.html" target="_blank">Рейтинг фильмов</a> </li>
                            <li> <a href="serials-rating.html" target="_blank">Рейтинг сериалов</a> </li>
                            <li> <a href="contacts.html" target="_blank">Контакты</a> </li>
                        </ul>
                        
                    </div>    
                    
                </div>
            
            </nav>
        
        </div>
    
    </div>
    
    
    
    <div class="wrapper">
    
        <div class="container">
        
            <div class="row">
                
                <div class="col-lg-9 col-lg-push-3">
                    
                    <form action="#" role="search" class="visible-xs">
                        <div class="form-group">
                            <div class="input-group">
                                <input type="search" class="form-control input-lg" placeholder="Ваш запрос">
                                <div class="input-group-btn">
                                    <button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
                                </div>
                            </div>
                        </div>
                    </form>
                    
                @yield('content')                
                    
                </div>
                
                <div class="col-lg-3 col-lg-pull-9">
                    
                    <div class="panel panel-info hidden-xs">
                        
                        <div class="panel-heading">
                            <div class="sidebar-header">Поиск</div>
                        </div>
                        
                        <div class="panel-body">
                            <form action="#" role="search">
                                <div class="form-group">
                                    <div class="input-group">
                                        <input type="search" class="form-control input-lg" placeholder="Ваш запрос">
                                        <div class="input-group-btn">
                                            <button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
                                        </div>
                                    </div>
                                </div>
                            </form>
                        </div>
                        
                    </div>
                    
                    <div class="panel panel-info">
                        
                        <div class="panel-heading">
                            <div class="sidebar-header">Вход</div>
                        </div>
                        
                        <div class="panel-body">
                            <form action="#" role="form">
                                <div class="form-group">
                                        <input type="text" class="form-control input-lg" placeholder="Логин">
                                </div>
                                <div class="form-group">
                                    <input type="password" class="form-control input-lg" placeholder="Пароль">
                                </div>
                                <button type="submit" class="btn btn-warning pull-right">Вход</button>
                            </form>
                        </div>
                        
                    </div>
                    
                    <div class="panel panel-info">
                        
                        <div class="panel-heading">
                            <div class="sidebar-header">Новости</div>
                        </div>
                        
                        <div class="panel-body">
                            <p>31.02.2017</p>
                            <p>Мы запустили новый сервис</p>
                        </div>
                    
                    </div>
                    
                    <div class="panel panel-info">
                        
                        <div class="panel-heading">
                            <div class="sidebar-header">Рейтинг фильмов</div>
                        </div>
                        
                        <div class="panel-body">
                            
                            <ul class="list-group">
                                
                                @foreach($movies as $movie)                

                                    @if($movie->category_id == 1)                
                                
                                        <li class="list-group-item list-group-warning">
                                            <span class="badge"> {{ $movie->rating }} </span>
                                            <a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
                                        </li>
                                        
                                    @endif
                                    
                                @endforeach
                                
<!--//                                <li class="list-group-item list-group-warning">
                                    <span class="badge">7.590</span>
                                    <a href="Matrix.html" target="_blank">Матрица: Революция</a>
                                </li>
                                
                                <li class="list-group-item list-group-warning">
                                    <span class="badge">7.726</span>
                                    <a href="CloudAtlas.html" target="_blank">Облачный атлас</a>
                                </li>
                                
                                <li class="list-group-item list-group-warning">
                                    <span class="badge">7.813</span>
                                    <a href="MadMax.html" target="_blank">Безумный Макс: Дорога ярости</a>
                                </li>                //-->
                                
                            </ul>
                            
                        </div>
                        
                    </div>
                    
                    <div class="panel panel-info">
                        
                        <div class="panel-heading">
                            <div class="sidebar-header">Рейтинг сериалов</div>
                        </div>
                        
                        <div class="panel-body">
                            
                            <ul class="list-group">
                                
                                @foreach($movies as $movie)                

                                    @if($movie->category_id == 2)                
                                
                                        <li class="list-group-item list-group-warning">
                                            <span class="badge"> {{ $movie->rating }} </span>
                                            <a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
                                        </li>
                                        
                                    @endif
                                    
                                @endforeach
                                
<!--//                                <li class="list-group-item list-group-warning">
                                    <span class="badge">8.185</span>
                                    <a href="SiliconValley.html" target="_blank">Силиконовая долина</a>
                                </li>
                                
                                <li class="list-group-item list-group-warning">
                                    <span class="badge">7.273</span>
                                    <a href="TheWalkingDead.html" target="_blank">Ходячие мертвецы</a>
                                </li>
                                
                                <li class="list-group-item list-group-warning">
                                    <span class="badge">8.856</span>
                                    <a href="BreakingBad.html" target="_blank">Во все тяжкие</a>
                                </li>                //-->
                                
                            </ul>
                            
                        </div>
                    
                    </div>
                    
                </div>
                
            </div>
                
        </div>
    
        <div class="clear"></div>
    
    </div>
    
    <footer>
    
        <div class="container">
            <p class="text-center"> <a href="http://ru.wh-db.com">WH-DB.COM</a> </p>
        </div>
    
    </footer>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="assets/js/bootstrap.min.js"></script>
  </body>
</html>


films-content.blade.php:

@extends('layouts.index')

@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
                    
<!--//                <div class="row">
    <div class="well clearfix">
        <div class="col-lg-3 col-md-2 text-center">
            <img class="img-thumbnail" src="assets/img/matrix.png" alt="Матрица: Революция">
            <p>Матрица: Революция</p>
        </div>
        <div class="col-lg-9 col-md-10">
            <p>
                Пока армия Машин пытается уничтожить Зион, его жители из последних сил держат оборону. Но удастся ли им предотвратить полное вторжение в город кишащей орды беспощадных машин до того, как Нео соберет все свои силы и положит конец войне?
            </p>
        </div>
        <div class="col-lg-12">
            <a href="Matrix.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
        </div>
    </div>
</div>
                    
<div class="row">
    <div class="well clearfix">
        <div class="col-lg-3 col-md-2 text-center">
            <img class="img-thumbnail" src="assets/img/cloud.png" alt="Облачный атлас">
            <p>Облачный атлас</p>
        </div>
        <div class="col-lg-9 col-md-10">
            <p>
                Шесть историй — пять реинкарнаций, происходящих в разное время, тесно переплетаются между собой…
            </p>
        </div>
        <div class="col-lg-12">
            <a href="CloudAtlas.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
        </div>
    </div>
</div>
                        
<div class="row">
    <div class="well clearfix">
        <div class="col-lg-3 col-md-2 text-center">
            <img class="img-thumbnail" src="assets/img/max.png" alt="Безумный Макс: Дорога ярости">
            <p>Безумный Макс: Дорога ярости</p>
        </div>
        <div class="col-lg-9 col-md-10">
            <p>
                Преследуемый призраками беспокойного прошлого, Макс уверен, что лучший способ выжить — скитаться в одиночестве. Несмотря на это, он присоединяется к бунтарям, бегущим через всю пустыню на боевой фуре, под предводительством военачальника Фуриосы.
                Они пытаются сбежать из Цитадели, страдающей от тирании Несмертного Джо, у которого они забрали кое-что очень ценное. Разъярённый военачальник бросает все свои силы на погоню за мятежниками, ступая на дорогу войны — дорогу ярости.
            </p>
        </div>
        <div class="col-lg-12">
            <a href="MadMax.html" target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
        </div>
    </div>
</div>                //-->                                            
    
@endsection                


film-content.blade.php:

@extends('layouts.index')

@section('content')

<div class="row">
        
    @if($movies->category_id == 1)

        <h1> {{ $movies->name }} </h1>
        <hr>
                    
        <div class="embed-responsive embed-responsive-16by9">    
            <iframe class="embed-responsive-item" src=" {{ $movies->player_code }} " frameborder="0" allowfullscreen></iframe>
        </div>

        <div class="well info-block text-center">
            Год: <span class="badge"> {{ $movies->year }} </span>
            Рейтинг: <span class="badge"> {{ $movies->rating }} </span>
            Режиссёр(-ы): <span class="badge"> {{ $movies->producer }} </span>
        </div>
                    
        <div class="margin-8"></div>
                    
        <h2>Описание фильма "{{ $movies->name }}" </h2>
        <hr>
                    
        <div class="well">
            <p> {{ $movies->description }} </p>            
        </div>
                    
        <div class="margin-8"></div>
                    
        <a href="#"><h3>Как снимали фильм "{{ $movies->name }}" </h3></a>
        <hr>

        <p>
                        
            <p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
                        
            <p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
                        
            <p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
                        
            <p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
                        
            <p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
                        
            <p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
                        
        </p>

        <a href="#" class="btn btn-warning pull-right">читать</a>
                    
        <div class="margin-8"></div>
                    
        <h2>Отзывы о фильме "{{ $movies->name }}" </h2>
        <hr>
                    
        <div class="panel panel-info">
            <div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
            <div class="panel-body">Отличный фильм, 3 часа пролетели незаметно.</div>
        </div>
                    
        <div class="panel panel-info">
            <div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
            <div class="panel-body">После фильма Начало, я с нетерпением ждал еще работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
        </div>
                    
        <div class="panel panel-info">
            <div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
            <div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
        </div>
                    
        <form action="#">
            <div class="form-group">
                <input type="text" placeholder="Ваше имя" class="form-control input-lg">
            </div>
            <div class="form-group">
                <textarea class="form-control"></textarea>
            </div>
            <button class="btn btn-lg btn-warning pull-right">Отправить</button>
        </form> 

    @endif 

</div>                                           
    
@endsection

Изменено garrip91 (01.02.2019 16:36:56)

Не в сети

#6 02.02.2019 08:50:33

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Попробуйте так в IndexController.php

return view('main', ['movies'=>$movies]);

или

return view('main')->with('movies', $movies);

Не в сети

#7 03.02.2019 00:11:00

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Ни так, ни так не работает! sad

Не в сети

#8 03.02.2019 08:31:15

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Покажите код модели Movie

Не в сети

#9 03.02.2019 14:23:19

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Вы об этом?



@extends('layouts.index')

@section('content')

<div class="row">
		
	@if($movie->category_id == 1)

		<h1> {{ $movie->name }} </h1>
		<hr>
					
		<div class="embed-responsive embed-responsive-16by9">	
			<iframe class="embed-responsive-item" src=" {{ $movie->player_code }} " frameborder="0" allowfullscreen></iframe>
		</div>

		<div class="well info-block text-center">
			Год: <span class="badge"> {{ $movie->year }} </span>
			Рейтинг: <span class="badge"> {{ $movie->rating }} </span>
			Режиссёр(-ы): <span class="badge"> {{ $movie->producer }} </span>
		</div>
					
		<div class="margin-8"></div>
					
		<h2>Описание фильма "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="well">
			<p> {{ $movie->description }} </p>			
		</div>
					
		<div class="margin-8"></div>
					
		<a href="#"><h3>Как снимали фильм "{{ $movie->name }}" </h3></a>
		<hr>

		<p>
						
			<p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
						
			<p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
						
			<p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
						
			<p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
						
			<p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
						
			<p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
						
		</p>

		<a href="#" class="btn btn-warning pull-right">читать</a>
					
		<div class="margin-8"></div>
					
		<h2>Отзывы о фильме "{{ $movie->name }}" </h2>
		<hr>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
			<div class="panel-body">Отличный фильм, 3 часа пролетели незаметно.</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
			<div class="panel-body">После фильма Начало, я с нетерпением ждал еще работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
		</div>
					
		<div class="panel panel-info">
			<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
			<div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
		</div>
					
		<form action="#">
			<div class="form-group">
				<input type="text" placeholder="Ваше имя" class="form-control input-lg">
			</div>
			<div class="form-group">
				<textarea class="form-control"></textarea>
			</div>
			<button class="btn btn-lg btn-warning pull-right">Отправить</button>
		</form> 

	@endif 

</div>                                           
	
@endsection


Если нет, тогда я Вас не понимаю! sad

Не в сети

#10 04.02.2019 11:36:36

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Дело в том, что Ларавел пытается найти переменную $movies при каждом рендеринге blade файла, а так как вы не передаёте его в каждой функции контроллера, то ее не существует. Тут два решения: либо вынести blade с переменной movies в отдельный файл и подключать его только там, где вам нужна данная переменная, либо сделать проверку внутри перед foreach :

@if(isset($movies)) 
@foreach ($movies as $movie) 
...
@endforeach 
@endif

Изменено maxifom (04.02.2019 11:58:22)

Не в сети

#11 05.02.2019 23:18:54

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Здравствуйте! Спасибо Вам большое за то, что Вы отозвались!!!

А можно как-то более детально объяснить? Я просто только начал изучать данный фреймворк......

Не в сети

#12 06.02.2019 12:20:38

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Что именно объяснить более детально?

Не в сети

#13 06.02.2019 21:04:23

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Более детально объяснить как мне решить свою проблему

Не в сети

#14 06.02.2019 21:26:48

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Ваш код index.blade.php ( файл в котором возникает ошибка )

<div class="panel-body">
							
							<ul class="list-group">
								
								@foreach($movies as $movie)				

									@if($movie->category_id == 1)				
								
										<li class="list-group-item list-group-warning">
											<span class="badge"> {{ $movie->rating }} </span>
											<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
										</li>
										
									@endif
									
								@endforeach

Предлагаю на выбор 2 решения:
1 Путь: Если хотите оставить вывод $movies на каждой странице, которая наследует index.blade.php, передавайте переменную в View Composer https://laravel.com/docs/5.7/views#view-composers, в ViewServiceProvider в методе boot напишите

View::composer('*', function ($view) {
    $view->with('movies', Movie::all());  //Вместо Movie::all() ваш код для получения фильмов из БД
});

это передаст в каждый view переменную $movies, и вы сможете вывести ее используя foreach, не меняя код index.blade.php
2 Путь: если переменная $movies нужна не везде, то можно добавить проверку перед @foreach($movies as $movie):

@if(isset($movies)) 
@foreach ($movies as $movie) 
...
@endforeach 
@endif

Также можно вынести данный фрагмент в отдельный файл и подключать его только там, где необходимо: например,
movies.blade.php:

@foreach($movies as $movie)				

									@if($movie->category_id == 1)				
								
										<li class="list-group-item list-group-warning">
											<span class="badge"> {{ $movie->rating }} </span>
											<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
										</li>
										
									@endif

а затем в нужных местах подключать его:

@include(movies) // Путь до файла movies.blade.php

Изменено maxifom (06.02.2019 21:29:17)

Не в сети

#15 06.02.2019 23:45:01

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

2-й путь мне очень понравился (Огромное спасибо за идею, кстати! Она мне помогла!!!) smile

Вы не могли бы помочь мне разобраться с авторизацией? Для данного фреймворка предусмотрена специальная cmd-команда " php artisan make:auth ", которая вносит ряд изменений в Проект, над которым я работаю (в частности, создаёт отдельную страницу для авторизации и регистрации). Может, это и к лучшему конечно... Но дело в том, что у меня на левой панели уже есть фрагмент кода для авторизации. Я мог бы как-нибудь именно свою авторизацию "оживить"? Если да, то как именно?... Не совершил ли я роковую ошибку, набрав эту cmd-команду?

Изменено garrip91 (06.02.2019 23:58:19)

Не в сети

#16 08.02.2019 01:41:54

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Команда make:auth добавляет несколько путей в файл web.php для авторизации, а также копирует некоторые шаблоны в папку views/auth и welcome.blade.php, если у вас нет таких файлов, то ничего критичного не произошло
Для оживления можно просто ваш фрагмент для авторизации направить в пути из Auth::routes(); которые можно посмотреть командой php artisan route:list, а также в контроллерах в App\Http\Controllers\Auth...

Не в сети

#17 09.02.2019 02:07:30

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Привет, тоже прохожу курсы Сергея Никонова.
Сейчас изучаю Laravel и Yii2, правда Laravel больше нравится.

Когда с авторизацией в laravel разбирался, очень помог этот мануал, хоть и на английском:
https://medium.com/@ceibaweb/laravel-au … 064b5b89e6


p.s. Сайт beonmax - это какой то левый сайт со старыми курсами, сам автор курсов Сергей Никонов везде указывает свой сайт https://fructcode.com, может по этому у тебя не получилось с кодингнитером, потому что там где ты изучал старые версии курсов Сергея.

Изменено ProGo (09.02.2019 02:07:54)

Не в сети

#18 09.02.2019 16:41:33

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Я не знаю где и как он указывает ссылку на свои актуальные курсы.....

Ну ладно. У Вас получилось ПОЛНОСТЬЮ "оживить" свой проект "Киномонстр"?

Как я мог бы связаться с Вами?

Не в сети

#19 09.02.2019 16:47:00

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Насчёт "Для оживления можно просто ваш фрагмент для авторизации направить в пути из Auth::routes(); которые можно посмотреть командой php artisan route:list, а также в контроллерах в App\Http\Controllers\Auth..." ...

Можно пошагово пояснить этот момент?

Не в сети

#20 09.02.2019 19:29:40

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Да получилось оживить киномонстер на сайте fructcode. Вот тут полностью исходник лежит проекта киномонстер (справа вкладка файлы):
https://fructcode.com/ru/courses/codeig … inal-part/

Не в сети

#21 09.02.2019 21:23:29

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Несовсем Вас понял конечно.... Этот Никонов laravel использует? Мне в это слабо верится!
Как я вообще могу связаться с Вами?

Не в сети

#22 09.02.2019 21:25:09

Re: Ошибка "Undefined variable: ..." при попытке "оживления" учебного proj

Ну а если прям вообще-вообще не хотите связываться со мной, то поясните мне, хотя бы, как "оживить" авторизацию с "Киномонстра" с помощью "laravel"

Не в сети

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