在laravel 5.3

时间:2016-09-22 12:56:01

标签: php laravel blade laravel-blade

我尝试使用Laravel 5.3与视图页面(刀片)构建动态链接。

我的方法是:

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

将使用我的基本网址和其他一些slug输出正确的网址:http://mydomain/articles/23/edit
“23”是我文章的ID。

这有效,但我想知道是否有更清洁的方法呢?

非常感谢

4 个答案:

答案 0 :(得分:10)

您可以将named routes用于此

----------------
|[]  []  []  []| 
|[]  []        |
----------------

更清洁的IMO

答案 1 :(得分:1)

您可以在代码

中使用命名路由作为清理器

在您的app / 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' =>'YourController@yourMethod'
            ]);
  

在您的视图页面(刀片)中使用

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

使用命名路线的一个好处是,如果您将来更改路线的网址,那么您不需要更改视图中的href(在您的情况下)

答案 2 :(得分:0)

你可以试试这个

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

和您的 route.php 文件

Route :: get('/ articles / edit / {art_id}','ArticlesController @ edit');

答案 3 :(得分:-1)

我建议使用命名路线!

您的 routes / web.php 文件:

Route::get('articles/{articleId}/edit', 'YourController@action')->name('article.edit');

您的Blade-Template文件:

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