2017-05-07 1 views
0

Ich habe Methode in der Steuerung:Das Modell kann mit findOrFail() nicht abgerufen werden. IDE sieht diese Methode nicht. Was ist falsch?

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); 

} 

Auftragsmodell zur Steuerung Datei verbunden ist:

namespace App\Http\Controllers; 
use App\Order; 
use Illuminate\Database\Eloquent\ModelNotFoundException; 
use Illuminate\Http\Request; 
use Illuminate\Http\Response; 

IDE sagt, dass es nicht firstOrFail() Funktion nicht kennt. Controller-Methode funktioniert nicht, wenn ich versuche, Daten mithilfe von Postmen durch XMLHttpRequest zu erhalten. Wenn ich diesen Teil des Codes von der Methode lösche:

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

Controller-Methode beginnt zu arbeiten. Ich denke, das Problem ist in FirstOrFail() -Methode, aber ich verstehe nicht warum.

Antwort

1

wenn Sie mit dem primären ID finden als findOrFail

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

verwenden Wenn Sie von einer anderen Spalte finden als firstOrFail verwenden

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

+0

danken. Ich wollte findOrFail() verwenden. Während anderer Debugs habe ich den Namen der Methode in firstOrFail() geändert und vergessen, sie wieder zu ersetzen. Also, ich muss mich ausruhen) –

Verwandte Themen