2016-09-22 108 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(在你的情况下)

相关问题