2016-09-22 103 views
1

我試圖用Laravel 5.3建立一個帶有查看頁面(刀片)的動態鏈接。在laravel 5.3中建立鏈接的正確方法

我的做法是:

<a href=" {{ URL::to('articles') }}/{{ $article->id}}/edit">Edit></a> 

將輸出與我的基本URL正確的URL和其他一些毛坯:http://mydomain/articles/23/edit
其中 「23」 是我的文章的ID。

這個工程,但我不知道是否有一個更乾淨的方式來做到這一點?

千恩萬謝

+0

是不是更清潔? –

+2

'URL :: to()'是Laravel 4.2的可用方法。從5.0開始,你可以使用'url()'和'URL'等'Facade'類。他們都做同樣的事情,都是乾淨的方法。我認爲你可能會推翻這個相對簡單的任務。 –

回答

8

您可以使用named routes這個

// Your route file 
URL::get('articles/{articleId}/edit', '[email protected]')->name('articles.edit'); 

//Your view 
<a href="{{ URL::route('articles.edit', $article->id) }}">Edit</a> 

更清潔IMO

+0

謝謝它的作品!路由文件已經被填充好了,通過使用Route :: resource('articles','ArticlesController');' 「方法 – JahStation

+0

所以是的,用'resource'命名的路由已經存在;) – PeterPan666

0

你可以用這個

<a href="{{ url('/articles/edit',$article->id) }}"><i class="fa fa-fw fa-edit"></i></a> 

和你route.php文件

路線::得到( '/用品/編輯/ {art_id}' 試試, 'ArticlesController @編輯');

-1

我建議與命名路由的工作!

路線/ web.php文件:

Route::get('articles/{articleId}/edit', '[email protected]')->name('article.edit'); 

刀片-模板文件:

<a href=" {{ route('article.edit', ['articleId' => $article->id]) }}">Edit></a> 
+0

Downvote沒有解釋。幹得好;) – Sebastian

+0

減號不是我的...順便說一句,我嘗試你的方法,但它失敗,因爲輸出等於article.edit/ID所以不是什麼即時尋找 – JahStation

+0

我忘了把名稱()的路線上,所以也許它失敗,由於這個問題 – JahStation

1

你可以在代碼

使用命名路線吸塵器在您的應用程序/Http/routes.php(對於laravel 5,laravel 5.1,laravel 5.2)或app/routes/web.php(在laravel 5.3的情況下)

定義路線

Route::get('articles/{id}/edit',[ 
      'as' =>'articles.edit', 
      'uses' =>'[email protected]' 
      ]); 

在視圖頁面(刀片)使用使用命名路線

<a href="{{ route('articles.edit',$article->id) }}">Edit</a> 

一個好處是,如果你改變路線的url未來,那麼你不需要改變視圖中的href(在你的情況下)

相關問題