Laravel将route参数修改为name列而不是id

时间:2019-03-09 20:59:28

标签: php laravel variables laravel-5 http-status-code-404

在我的web.php文件中,指定以下路由:

Route::get('/{project}', 'ProjectsController@index');

在我的ProjectsController中,如下定义公共功能index

use App\Project;
// ... Here is the class declaration etc.
public function index(Project $project) {
  dd($project->name);
}

当前,我的项目表中有一个条目,我的雄辩模型可以毫无问题地调用该条目。这是我的条目:

Name: sampleproject
Description: This is a test.
ID: 1
// And the timestamps...

调用/sampleproject时,它将返回404错误页面。
[...]

更新:调用/1(这是项目ID)时,一切都会按预期进行。如何修改代码,以便可以通过项目名称而不是ID调用Controller?

1 个答案:

答案 0 :(得分:1)

在您的模型中:

public function getRouteKeyName()
{
    return 'yourcolumn';
}