2013-12-19 63 views
0

我想從數據庫中獲取一些數據並顯示在佈局頁面上,我基本上已經開始構建一個小型CMS以進入Laravel,並且所有工作都很順利到目前爲止,但現在我在牆上,並找不到解決方案。Laravel嘗試獲取非對象的屬性,但不知道爲什麼

我有一個佈局刀片文件像這樣:http://paste.laravel.com/1fB1什麼majot但你會看到我用$頁面級> meta_title等在那裏,在我的控制,我有:

public function home() 
{ 
    $pages = Pages::all(); 
    return View::make('frontend/home')->with('pages',$pages); 
} 

,我有一個網頁模型裏什麼也不做真的很喜歡這樣:

class Pages extends Eloquent { 

    protected $table = 'pages'; 
    } 

那麼爲什麼試圖讓非對象的財產,我真的不希望因爲這將是我的「測試的前端使用的foreach '網站,所以一個foreach不會套房。

+0

請包括完整的錯誤messafe。 – Reflic

+0

頁::查找(1)的作品,但我希望所有頁面加載可以這麼說,如果我通過cms添加更多頁面我希望它顯示創建的頁面 –

+0

未定義的屬性:Illuminate \ Database \ Eloquent \ Collection :: $ meta_title –

回答

0

如果您不想遍歷它們,您需要將這些項目作爲多維數組訪問。

$pages[0]['field_name_here']

$pages[1]['field_name_here']

+0

或者我可以只使用@section()爲每個這些? –

+0

在Blade中,'@ section'用於分隔模板文件中的部分。我用它來做我的菜單。這不符合你的需要。 –

+0

雖然這{{$ pages [0] ['page_content']}}工作,它不顯示正確的內容爲每個不同的頁面....現在我卡住了!!!!! :( –

0

它有點一個艱難的一個的回答不知道你怎麼想你的CMS工作。

例如,你可以在你的routes.php文件中有一個{pagename}的路由,然後有一個頁面控制器,你將從傳入的變量中獲得請求的路由。然後,這將使用變量加載你想要的頁面

public function page($pagename) { 
    $page = Page::where('page_title', '=', $pagename)->first(); 

    View::make('frontend/page', array('page' => $page)); 
} 

使用像這樣的路線,和控制器,在您看來,您可以使用{{ $page->content }}獲得被請求的頁面從數據庫中的內容並顯示。

希望這會有所幫助。

編輯:示例路線:

Route::get('{pagename}', '[email protected]'); 
相關問題