2016-06-23 2 views
0

問題は、データベースから動的にメニューページを読み込むことです。そして、ページをクリックするたびに、page_id = 1とcontent ...をロードします。たとえば、page_id=5をクリックすると、最初にデータベーステーブルから結果が読み込まれます。ブラウザのアドレスバーでは、IDは変更されていますが、ページには表示されません。ページは変更されましたが、内容はlaravelで同じままです

これは私がこれまで持っているもの...ルートにHomeControllerページで

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

ですが、私はこの

@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 

を持ってpage.blade.phpでこの

public function page() { 

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

のように見えますpage.bladeにつながるボタン

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

答えて

0

あなたはどこでもpageIDを使用していません。あなたはそれを関数に渡してから、それをクエリに使用する必要があります。

public function page($pageID) { 

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

次に、page.blade.phpで1ページオブジェクトを使用できます。

+0

ありがとうございましたが、今は 'non-object ...のプロパティを取得しようとしています...' page.blade.phpの '@foreach($ pages as $ page)' –

+0

foreachはもう必要ありません。あるページに記事のリストが、別のページに記事が表示される必要がある場合は、別のブレードファイルを使用してください。 '$ pageID'がセットされているかどうかに基づいて、同じ関数を使用してリダイレクトすることができます。 – aynber

+0

ああ、私はそれを得た。助けてくれてありがとう! –

関連する問題