Laravel按值从api获取数据

问题描述 投票:0回答:1

我正在使用Laravel / Passport,并且已经可以通过id获取数据:

api.php / Controller.php

Route::get('members/{member}', 'MemberController@show');

public function show(Member $member)
{
    return $member;
}

这只返回id的所有数据,现在我想通过电话号码获取会员,所以我创建了:

Route::get('members/{phone}', 'MemberController@phone');

public function phone(Member $member)
{
    return $member;
}

错误:

例外:“ Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException”文件:“ C:\ Users \ xx \ xx \ xx \ xx \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Exceptions \ Handler.php”行:204消息:“没有针对模型[App \ Member]的查询结果2929292222“

php laravel
1个回答
0
投票

转到Member.phpmodel并添加此方法

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

默认情况下,Laravel将自动注入其ID与请求URI中的对应值匹配的模型实例。

如果检索给定模型类时,如果希望模型绑定使用id以外的数据库列,您可以在Eloquent模型上覆盖getRouteKeyName方法:

有关更多信息,请检查documentation

© www.soinside.com 2019 - 2024. All rights reserved.