2016-06-23 2 views
0

Проблема в том, что я загружаю динамически страницы меню из базы данных. И всякий раз, когда я нажимаю на загрузку страницы только page_id = 1 и содержимое ... Например, если я нажму page_id=5, то снова загрузится первый результат из таблицы базы данных. В адресной строке браузера я вижу, что идентификатор изменен, но не на странице.Страница изменена, но контент остается таким же в laravel

Это то, что я до сих пор .. маршрут

Route::get ('/static/page/{pageId}', ['uses' => '[email protected]']); 

В HomeController страницы выглядит как этот

public function page() { 

      $pages = Pages::all(); 
      return View::make('site.page', [    
       'pages' => $pages 
      ]); 
} 

в page.blade.php У меня есть эта

@extends('layouts.master') 
@foreach($pages as $page) 
    @section('title', $page->page_title) 

    <div class="col-xs-12"> 
     <h3>{{ $page->page_title }}</h3> 
     <hr /> 

     <div class="row"> 
      {{ $page->page_body }} 
     </div> 

     <hr /> 
    </div> 
    @endsection 
@endforeach 

Кнопка, которая приводит к странице.

<li><a href="{{ URL::to('/static/page/'.$page->page_id) }}">{{ $page->page_title }}</a></li> 

ответ

0

Вы не используете идентификатор страницы нигде. Вам нужно передать его в функцию, а затем использовать в запросе.

public function page($pageID) { 

     $page = Pages::findOrFail($pageID); 
     return View::make('site.page', [    
      'pages' => $page 
     ]); 
} 

Затем вы можете использовать объект одной страницы на своей странице .blade.php.

+0

Спасибо, но теперь я получаю это '' Попытка получить свойство не-объекта ... 'здесь' @foreach ($ pages as $ page) 'in page.blade.php –

+0

Вам больше не нужен foreach. Если вам нужен список статей на одной странице и статья для показа на другом, используйте разные файлы кликов. Вы можете использовать ту же функцию и перенаправить их на основе, если установлен параметр $ pageID. – aynber

+0

О, я понял. Спасибо за помощь! –

Смежные вопросы