首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用laravel在一个url中显示两个动态名称

如何使用laravel在一个url中显示两个动态名称
EN

Stack Overflow用户
提问于 2015-06-02 20:30:42
回答 2查看 121关注 0票数 0

以下代码:

代码语言:javascript
复制
{{url('/'.$subjecttype->name)}} 

“花园”这个名字被包裹在一个url里。这给我提供了本地主机/花园,显然花园是动态名称。我的路线设置如下:

代码语言:javascript
复制
Route::get('/{subject}/', array( 'as' => 'subject', 'uses' => 
'SubjectController@getsubject'));

问题是如何在一条路由内设置两个动态名称?例如,

本地主机/花园/12

所以我希望我的路线看起来像这样

Route::get('/{subject}/{id}/', array( 'as' => 'subjectid', 'uses' => 'SubjectController@getsubjectid'));

,但更重要的是,在我看来,它会是什么样子呢?,这样,我的花园标题就被封装在一个url中,它看起来像这样:

“初学者园艺技巧”( {{$subjecttype->title}} )

下面是我对我想要的东西所做的很差的尝试,但我希望你能得到这张照片。

{{url('/$subjecttype->name/$subjecttype->id/'.$subjecttype->title)}}

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-02 20:37:42

关于您的路线:

代码语言:javascript
复制
Route::get(
    '/{subject}/{id}/',
    array(
        'as' => 'subjectid',
        'uses' => 'SubjectController@getsubjectid'
    )
);

您可以使用以下代码生成URL:

代码语言:javascript
复制
$url = URL::route(
    'subjectid',
    array(
        'subject' => $subjecttype->name,
        'id' => $subjecttype->id
    )
);

或者,如果您更喜欢使用助手函数:

代码语言:javascript
复制
$url = route(
    'subjectid',
    array(
        'subject' => $subjecttype->name,
        'id' => $subjecttype->id
    )
);

这会给你一个像http://example.com/subjectname/42这样的网址。如果要添加另一个参数,如URL末尾的标题,则需要向路由定义中添加另一个参数。如果您不这样做,您将得到404错误,因为没有任何路由将匹配的URL。

票数 0
EN

Stack Overflow用户

发布于 2015-06-02 21:29:22

在我问题的第二部分,使用“初学者园艺技巧”为例:

<a href="{{ URL::to(action('SubjectController@getsubjectid', array($subjecttype->title, $subjecttype->id)))}}">gardening tips for beginners</a>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30605996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档