无法使用 findOrFail() 检索模型。IDE 看不到此方法。怎么了?



我在控制器中有方法:

public function read(ReadRequest $request){
    $r  = $request;
    $id = $r->id;
    $order = null;
    try{
        $order= Order::firstOrFail($id);
    }catch(ModelNotFoundException $e){
        return response()->json(["message"=>"Order Id doesn't exist."], 404);
    }

    return response()->json(["order"=>$order], 200);
}

订单模型连接到控制器文件:

namespace AppHttpControllers;
use AppOrder;
use IlluminateDatabaseEloquentModelNotFoundException;
use IlluminateHttpRequest;
use IlluminateHttpResponse;

IDE说它不知道FirstorFail((函数。当我尝试使用Postmen通过XMLHTTPRequest获取数据时,控制器方法无效。当我从方法中删除这一部分时:

    try{
        $order= Order::firstOrFail($id);
    }catch(ModelNotFoundException $e){
        return response()->json(["message"=>"Order Id doesn't exist."], 404);
    }

控制器方法开始起作用。我认为问题是在firstorfail((方法中,但我不明白为什么。

如果通过主ID找到而不是使用findOrFail

$order= Order::findOrFail($id);

如果您通过另一列而不是使用firstOrFail

找到

$order = Order::where('column', '=', $id)->firstOrFail();

最新更新