Ich habe von Laravel 5.3 auf 5.4 aktualisiert. Jetzt bekomme ich Reflexion Ausnahmeklasse eloquent.saving: App \ model_name existiert nicht. Alles andere sieht gut aus und funktioniert gut. Ich kann es abfragen, abrufen, in einem Vue-Browser anzeigen lassen - nur das Speichern ist passend. Und es passiert mit jedem Modell und ihren jeweiligen Controllern.Laravel 5.3 -> 5.4 Reflexion Ausnahme
Beispiel mit dem einfachstenen Modell:
Modell
namespace App;
use Illuminate\Database\Eloquent\Model;
class Bank extends Model
{
protected $guarded = ['id'];
}
-Controller
namespace App\Http\Controllers;
use App;
use App\Bank;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function test1(Request $request) {
/** @var \App\Bank $bank */
// get record
$bank = Bank::first();
// change data
$bank->bic = "xxx";
// dump it - looks ok
dump($bank);
// this throws reflection error
$bank->save();
}
}
Kein benutzerdefinierter Code wird geändert. Nur das Upgrade (und entsprechende Änderungen von Upgrade Guide + Tinker wurde hinzugefügt). Ich habe den Cache gelöscht, die kompilierten Ansichten gelöscht, die Optimierung durchgeführt, dump-autoload ... das funktioniert. Dies ist ein mittlerer Schritt bis Laravel 5.5. Das gleiche passiert, wenn ich direkt auf Version 5.5 aktualisiere. Keine Ahnung, wo ich anfangen soll.
Update von Kommentaren:
ein neues Objekt anlegen wirft Ausnahme Kohlenstoff. Das Setzen von $ timestamps = false im Modell beseitigt den Carbon-Fehler und ich kann ein neues Modell erstellen und speichern. Wenn ich jedoch denselben Datensatz finde und versuche, ihn zu speichern, erhalte ich die Reflektionsausnahme erneut.
aktualisieren
Wenn ich auf 5,3 Herabstufung zurück, sofort zu arbeiten beginnt alles.
Können Sie neu verursachen, oder erhalten Sie den gleichen Fehler? – kerrin
Sind deine Modelle definitiv im Stammverzeichnis des App-Ordners? 'Namespace App;' – kerrin
@ Kerrin. Ja, die Modelle sind an der richtigen Stelle. Auf den zweiten Kommentar ... wir kommen irgendwo hin. Ich habe noch nicht versucht, einen zu erstellen. Wenn es versucht, neue Bank() zu tun, erhalte ich Carbon-Fehler: DateTime :: __ construct(): Zeitstring konnte nicht analysiert werden ( Xml version = "1.0") an Position 0 (<): Unerwartetes Zeichen. Wenn ich das gleiche in Tinker mache, funktioniert es ... bis zu save(). Dann schlägt es mit der Reflektionsausnahme fehl. – Corwin