1

我有一个使用 yajrabox 包的数据表,其中包含指向各种字符串的链接。当我点击一个链接时,它会将我带到一个带有“/teams/”字符串“的 404 页面。如何使这个字符串成为可查看的页面?我尝试过使用 slug,但我可能会错误地使用它,老实说我不知道我的错误在哪里。这是我的代码的 impt. 部分:

路线:

Route::get('/teams/display/{$slug}', 'TeamsController@display');

团队控制器:

public function display($slug)
{
    $teamdatas = LoserData::findBySlugOrFail($slug);



    return view('teams/display', compact('teamdatas'));

}

数据表刀片

      {data: 'homeTeam', name: 'homeTeam', "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
        $(nTd).html("<a href=/teams/display/"+oData.homeTeam+">"+oData.homeTeam+"</a>");
        }},

团队/display.blade.php

<div class="container">
<div class="row">
    <div class="col-sm-8">
        <h1> Welcome the {{$teamdatas->slug}} profile page</h1>



    </div>
</div>

4

1 回答 1

0

我想我应该检查一下路由文档,因为这绝对是一个路由问题。要解决它,请将其放入您的路线中:

Route::get('/teams/display/{teamdatas?}', 'TeamsController@display', function ($teamdatas = 'Oilers-84') {

return $teamdatas;

});

这是来自 Laravel Docs 5.5 的信息:

可选参数 有时您可能需要指定一个路由参数,但该路由参数的存在是可选的。您可以通过放置一个 ? 在参数名称后标记。确保给路由的对应变量一个默认值:

Route::get('user/{name?}', function ($name = null) {
    return $name;
});

Route::get('user/{name?}', function ($name = 'John') {
    return $name;
});
于 2018-03-01T15:04:43.633 回答