Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为我的路由使用其他DB列而不是ID列_Php_Laravel - Fatal编程技术网

Php 如何为我的路由使用其他DB列而不是ID列

Php 如何为我的路由使用其他DB列而不是ID列,php,laravel,Php,Laravel,我有这条路线: Route::get('subscribers/{subscriber}', 'SubscriberController@show'); 在我的控制器的show方法中,我希望它使用email来查找我的表,而不是默认的id。这可能吗 public function show(Subscriber $subscriber) { // I need this to do like // $subscriber = Subscriber::findOrFail(<

我有这条路线:

Route::get('subscribers/{subscriber}', 'SubscriberController@show');
在我的控制器的
show
方法中,我希望它使用
email
来查找我的表,而不是默认的
id
。这可能吗

public function show(Subscriber $subscriber)
{
    // I need this to do like
    // $subscriber = Subscriber::findOrFail(<email>);
    //
    // instead of the default
    // $subscriber = Subscriber::finaOrFail(<id>);

    return $subscriber;
}
公共功能展示(订户$Subscriber)
{
//我需要这样做
//$subscriber=subscriber::findOrFail();
//
//而不是默认值
//$subscriber=subscriber::finaOrFail();
返回$subscriber;
}

我试图在StackOverflow中寻找答案,但我对Laravel的有限知识似乎不允许我使用正确的关键字

将以下方法添加到您的
订户
模型中

public function getRouteKeyName()
{
    return 'email';
}
你可以阅读更多关于