У меня есть страница search.blade.php, на которой множество блоков с картинкой и титулкой, я кликаю по ссылке,чтоб перейти в профайл этого блока, а оно выдает ошибку.... Файл search.blade.php:
@extends('layouts.master')
@section('content')
@foreach($properties->chunk(4) as $propertyChunk)
<div class="row">
@foreach($propertyChunk as $property)
<div class="col-md-3">
<img src="{{ $property->imagePath }}" alt="..." class="img-responsive">
<h3>{{ $property->title }}</h3>
<a href="{{ route('sh.search.propertyprofile') }}">Property Profile</a>
</div>
@endforeach
</div>
@endforeach
@endsection
файл propertyprofile.blade.php:
@extends('layouts.master')
@section('content')
<img src="{{ $properties['imagePath'] }}" alt="..." class="img-responsive">
<h3>{{ $properties['title'] }}</h3>
@endsection
Выдает ошибку:
Undefined index: imagePath(View: /var/www/projects/auth.laravel.com/resources/views/sh/propertyprofile.blade.php)
Почему он выдает такую ошибку?я же обращаюсь к параметру массива,который создается в модели!Почему он не подтягивает значения в файле propertyprofile.blade.php?
добавляю файл routes/web.php:
Route::get('/search', [
'uses' => 'SearchController@getSearch',
'as' => 'sh.search'
]);
Route::get('/search/propertyprofile', [
'uses' => 'PropertyProfileController@getPropertyProfile',
'as' => 'sh.search.propertyprofile'
]);
Файлы SearchController и PropertyProfileController:
class SearchController extends Controller
{
public function getSearch() {
$properties = Property::all();
return view('sh.search', ['properties' => $properties]);
} }
class PropertyProfileController extends Controller
{
public function getPropertyProfile() {
$properties = Property::all();
return view('sh.propertyprofile', ['properties' => $properties]);
} }
Эти контроллеры одинаковые, массив properties передается так же....только вьюха search подхватывает данные из массива, а вьюха propertyprofile -нет... П.С.:если НЕ использовать массив properties во вьюхе propertyprofile, а написать Hello world, то на экране будет Hello world.
модель Property :
class Property extends Model
{
protected $fillable = ['imagePath', 'title', 'description', 'price', 'id'];
}
Вы же переходите по ссылке route('sh.search.propertyprofile')
, проверьте в routes.php или routes/web.php (в зависимости от версии Laravel) или через php artisan routes:list
куда ведет этот путь.
Вот там куда ведет этот путь вы видимо не передаете на вьюху массив $properties
, тот код в вопросе к проблеме отношения не имеет.
UPD. Вы выводите на файл sh.propertyprofile
массив объектов, а не 1 объект, если вы хотите детально выводить информацию по Property, то нужно в search.blade.php
заменить:
<a href="{{ route('sh.search.propertyprofile') }}">Property Profile</a>
на
<a href="{{ route('sh.search.propertyprofile', ['id' => $property->id]) }}">Property Profile</a>
Замените $property->id
на свою колонку которая у вас отвечает за Primary Key.
И дальше в routes/web.php замените:
Route::get('/search/propertyprofile', [
'uses' => 'PropertyProfileController@getPropertyProfile',
'as' => 'sh.search.propertyprofile'
]);
на
Route::get('/search/propertyprofile/{id}', [
'uses' => 'PropertyProfileController@getPropertyProfile',
'as' => 'sh.search.propertyprofile'
]);
Потом в PropertyProfileController замените:
public function getPropertyProfile() {
$properties = Property::all();
return view('sh.propertyprofile', ['properties' => $properties]);
}
на
public function getPropertyProfile($id) {
$property = Property::first($id);
return view('sh.propertyprofile', ['property' => $property]);
}
И наконец то в файле propertyprofile.blade.php замените:
@extends('layouts.master')
@section('content')
<img src="{{ $properties['imagePath'] }}" alt="..." class="img-responsive">
<h3>{{ $properties['title'] }}</h3>
@endsection
на
@extends('layouts.master')
@section('content')
<img src="{{ $property->imagePath }}" alt="..." class="img-responsive">
<h3>{{ $property->title }}</h3>
@endsection
И тогда у вас будет работать детальная страница.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
сайт стоит на denwer и вот содержимоеhtaccess:
Здравствуйте, помогите пожалуйста, я встал в тупикМне нужно создать пользовательский класс String, унаследованный от родительского в котором...
Делаю что-то вроде дереваСоздаю корень тогда когда добавляю новую вершину и указываю корень(у меня там проверка идет) выбивает сообщение...