首页 > 解决方案 > 在 URL 中使用变量时出现 404 错误:模型 [App\Models\Seeker] 没有查询结果

问题描述

我从有角度的前端打电话到我的 laravel 后端。当我在 url (USERID) 中使用变量时,它会给我一个 404 错误。

当我从 url 中删除 USERID 时,它可以工作并到达服务器中的功能。

客户端:

  getSeeker(userID: number) {
    return this.http.get(`${this.endPoint}/${userID}/getSeekerProfile`, 
      {headers: this.getTokenHeaders()})
  }

服务器端:

    Route::get('candidate/{userID}/getSeekerProfile',   'CandidateController@getSeekerProfile');

客户端错误:

GET http://localhost:8000/api/headhunter/candidate/363/getSeekerProfile 404 (Not Found)

服务器端错误:

message: "No query results for model [App\Models\Seeker]."

目标函数(getSeekerProfile):PS - 我还尝试只返回 dd('reached') 并删除 (User $userID) 参数。

    public function getSeekerProfile(User $userID)
    {
        dd($userID);
    }

我真的找不到问题。我什至没有使用与这段代码相关的 Seeker 模型。

任何想法都将受到欢迎。

谢谢。

PS - 也许这会有所帮助:路线前有一个中间件

Route::group(['prefix' => 'headhunter','middleware' => ['AuthHeadhunter']], function () {

它甚至没有进入它。是否有可能在请求期间首先通过另一个地方?

标签: angularlaravellaravel-5

解决方案


public function getSeekerProfile(User $userID) 这一行将 $userID 的查询发送给 User Model.But User Model 没有这个 $userID =>363 所以你可以保存这个 ID User Model 或者你可以使用

getSeekerProfile($userID)
{
$user = User::find($userID);
} 

代替

getSeekerProfile(User $userID) 

推荐阅读