2017-07-06 45 views
2

我是Laravel 5.4php的新手,我在路由上遇到了一些麻煩,所以我希望你能向我解釋發生了什麼事情![Route:homepage.edit]缺少必要的參數,並且在鏈接中排版

我正在爲我的未來項目開發後臺,對於我目前的項目,我需要能夠更新發送到主頁的數據。頁面的編輯和數據的更新現在完全可用,我只是在佈局中做鏈接時遇到了一些麻煩。很確定這是一個微不足道的問題,但我很難解決它。

這裏是我的代碼:

web.php:

Route::group(['prefix' => 'admin', 'middleware' => 'admin'], function() 
{ 
    Route::resource('homepage', 'Admin\HomeController'); 
}); 

的HomeController:`

public function edit($id) { 
    $contentExists = Homepage::first(); 
    $homepage = Homepage::findOrFail($id); 
    return view('admin/homepage/edit', compact('homepage', 'contentExists')); 
}` 

在佈局:

<ul class="list-unstyled"> 
<li> 
    <a href="{{ route('homepage.edit') }}">Page d'accueil</a> 
</li>       
</ul> 

現在對於我知道我需要傳遞一個參數R鍵的路線,所以我也像這樣:

<ul class="list-unstyled"> 
<li> 
    <a href="{{ route('homepage.edit', $homepage) }}">Page d'accueil</a> 
</li>     
</ul> 

但接着說,網頁變量沒有定義的,我不知道在哪裏,因爲我在佈局是我可以定義這個變量,也不知道這個變量需要什麼,他的目的是什麼......你能幫助我嗎?

+0

嗯,我想,因爲你使用的首頁:: findorfail($ id)的網頁沒有返回變量,所以如果它不如果失敗並且不傳遞給視圖,則存在。 – m33bo

+0

但是,在HomeController中,變量傳遞給佈局中的主頁視圖中的鏈接,控制器不處理此視圖 – GBCrafty

+0

如果您只是試圖獲取鏈接,而不是使用'route('','' ')'嘗試使用'URL :: route()'和相關參數。 – m33bo

回答

2

航線第二個參數,必須是這樣的,例如一個數組:

route('homepage.edit', ['id' => 2]) 
+0

我看到它更好的工作方式!我怎樣才能使它動態,所以我可以做['id'=> $ homepage-> id]? – GBCrafty

+0

發現它,但我不認爲這是做這件事的最好方法,我打開刀片@php並定義主頁變量等於從模型獲得的數據,然後在數組中調用ID!感謝您的幫助:) – GBCrafty

+0

在$首頁應該是一個結果,而不是雄辯collection.You可以試試這個命令['id'=> $ homepage-> first() - > id] – Nutscracker

相關問題