ich habe ein Problem mit Laravel 5 Route Modell Bindung ich folgende Controller-Methode bin mitLaravel 5 Route Modell arbeitet Bindung nicht auf dem Server
public function destroy(PrimaryLocation $primaryLocation) {
dd($primaryLocation->id);
$primaryLocation->delete();
return redirect()->back()->with('locationDeleted', true);
}
Wo PrimaryLocation ist ein beredtes Modell
Mein RouteServiceProvider Stiefel Funktion:
public function boot(Router $router)
{
parent::boot($router);
$router->model('user', 'App\User');
$router->model('PrimaryLocation', 'App\PrimaryLocation');
}
Und in meinem routes.php
Route::delete('deletePrimaryLocation/{PrimaryLocation}',
['as' => 'admin.deletePrimaryLocation', 'uses' => '[email protected]']);
Dieses Setup funktioniert auf meinem lokalen Computer, aber wenn ich die Dateien auf meinem Entwicklungsserver bereitstellen, bricht die Modellbindung ab; Der Standort wird beim Ausführen der Methode nicht gelöscht.
Ich habe einige var_dumps
dd($primaryLocation->id);
auf dem lokalen Computer dies die korrekte ID zurückgibt, sondern auf dem Server wird es nur null zurück;
Allerdings, wenn ich ein
dd($primaryLocation)
Das Ergebnis lokal
PrimaryLocation {#178 ▼
#fillable: array:1 [▶]
#connection: null
#table: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:4 [▶]
#original: array:4 [▶]
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
}
On auf meinem Server ist fast das gleiche ... aber die Attribute fehlen:
PrimaryLocation {#195 ▼
#fillable: array:1 [▶]
#connection: null
#table: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: []
#original: []
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: false
}
Hat jemand eine Ahnung, was schief gehen könnte?
[UPDATE]
wenn ich
// $router->model('PrimaryLocation', 'App\PrimaryLocation');
In mir Serviceprovider auf Kommentar, ist das lokale Verhalten der gleiche wie auf dem Server. Vielleicht stimmt etwas mit dem Laden des ServiceProviders nicht? Vielleicht gibt es eine Art Cache?
Das fehlende 'attributes' ist, weil es nicht den Datensatz finden. Sind die Daten in der Datenbank gleich? d.h. dieselbe Datenbank, Tabellen und Felder? Speziell - existiert der Datensatz selbst? – Laurence
Ist Ihr Dateiname auf dem Server korrekt? Ist es 'PrimaryLocation.php mit der Groß-/Kleinschreibung gleich? – Laurence
Wenn es den Datensatz nicht finden konnte, sollte es einen 404 Fehler geben (zumindest die Dokumente geben dies an), wenn ich richtig bin. Und wenn der Dateiname nicht korrekt ist, sollte es einen "harten" Fehler geben ... (Whoops, was schief gelaufen ist) –