以下代码:
{{url('/'.$subjecttype->name)}}
是花园的名字'包裹在网址中。这给了我localhost / garden,显然有花园作为动态名称。我的路线设置如下:
Route::get('/{subject}/', array( 'as' => 'subject', 'uses' =>
'SubjectController@getsubject'));
问题是如何在一条路线中设置两个动态名称?例如
本地主机/花园/ 12
所以我希望我的路线看起来像这样
Route::get('/{subject}/{id}/', array( 'as' => 'subjectid', 'uses' => 'SubjectController@getsubjectid'));
但更重要的是在我看来会是什么样子?以便我将我的花园标题包含在一个如下所示的网址中:
'适合初学者的园艺技巧'这是{{$subjecttype->title}}
下面是我对我想要的非常糟糕的尝试,但我希望你能得到这张照片。
{{url('/$subjecttype->name/$subjecttype->id/'.$subjecttype->title)}}
由于
答案 0 :(得分:0)
路线:
Route::get(
'/{subject}/{id}/',
array(
'as' => 'subjectid',
'uses' => 'SubjectController@getsubjectid'
)
);
您可以使用以下代码生成网址:
$url = URL::route(
'subjectid',
array(
'subject' => $subjecttype->name,
'id' => $subjecttype->id
)
);
或者,如果您更喜欢使用辅助函数:
$url = route(
'subjectid',
array(
'subject' => $subjecttype->name,
'id' => $subjecttype->id
)
);
这会给你一个像http://example.com/subjectname/42
这样的网址。如果要在URL末尾添加另一个参数(如标题),则需要在路径定义中添加另一个参数。如果你不这样做,你将得到404错误,因为没有路由匹配URL。
答案 1 :(得分:0)
对于我的问题的第二部分,使用“初学者的园艺技巧”示例:
<a href="{{ URL::to(action('SubjectController@getsubjectid', array($subjecttype->title, $subjecttype->id)))}}">gardening tips for beginners</a>