2016-12-06 2 views
7

In Laravel i auf eine bestimmte Seite zu verlinken, ich versuche aber es istNotFoundHttpException in RouteCollection.php Linie 161: Laravel 5.3

NotFoundHttpException in RouteCollection.php Linie 161 zeigt:

Hier mein Code helfen Sie mir bitte den Fehler
meiner Meinung nach ausrechnen:

{{ link_to_route('deleteFile', 'Delete', [$file->resid]) }} 

in Routen:

Route::get('/deleteFile/{$id}', 
['as'=>'deleteFile','uses'=>'[email protected]']); 

und in der Steuerung:

class FilesController extends Controller{ 
public function deleteFile($id) 
    { 

     $file = Resource::find($id); 
     Storage::delete(config('app.fileDestinationPath').'/'.$file->filename); 
     $file->delete(); 
     return redirect()->to('/upload'); 
    }} 

und das ist mein Modellcode:

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Resource extends Model 
{ 

    protected $table='resource'; 
    public $fillable=['resname']; 
} 
+1

Auf der Fehlerseite, Was ist die URL? – Albert

+0

URL auf Fehler Seite: http: // localhost: 8000/deleteFile/2 –

Antwort

4

Sie machen Fehler auf Ihren Params. es sollte {id} nicht {$id}

ändern

Route::get('/deleteFile/{$id}', 
['as'=>'deleteFile','uses'=>'[email protected]']); 

zu

Route::get('/deleteFile/{id}', 
['as'=>'deleteFile','uses'=>'[email protected]']); 

-Link: https://laravel.com/docs/5.3/routing#required-parameters

und Laravel jetzt 5.3 unterstützen mit name

Route::get('/deleteFile/{id}','[email protected]')->name('deleteFile'); 

Link: https://laravel.com/docs/5.3/routing#named-routes

+0

Verdammt, kann nicht glauben, ich nicht, dass vor Ort habe aus – Albert

+0

habe diesen Fehler corrrected thank u bekam aber eine weitere Ausnahme ** QueryException in Connection.php Linie 769: SQLSTATE [42S22]: Column nicht gefunden: 1054 Unknown column 'resource.id' in 'where clausel' (SQL: wähle * aus 'resource' aus, wobei' resource'.id' = 2 limit 1) ** mein tabellenname ist resource und seine attribute sind: resid, resname , Zeitstempel –

+0

@NihalGurjar markieren Sie als Antwort, wenn Sie denken, dass meine Antwort richtig und hilfreich ist :) eine andere Ausnahme, die neue Frage öffnet (wenn nicht mit dieser eine verbunden ist). – ssuhat

0

Es scheint, wie Sie

class FilesController extends Controller{ 
     public function deleteFile($id)//it was right here 
     { 
      $file = Resource::find($id); 
      Storage::delete(config('app.fileDestinationPath').'/'.$file->filename); 
      $file->delete(); 
      return redirect()->to('/upload'); 
     } 
} 
ein `Zeichen in Ihrer Controller-Datei

hatten

Versuchen Sie diese

+0

Zeichen ist nicht in tatsächlichen Code, es könnte kam, als ich auf Stackoverflow posten ich korrigiere es. Bitte schlagen Sie noch etwas vor –

+0

@NihalGurjar haben Sie versucht zu überprüfen, ob Datei 2 bereits aus Ihrem Speicherordner UND Ressourcentabelle gelöscht wurde? – Albert

Verwandte Themen