Laravel 5-Klasse nicht gefunden " - Fehler in der middleware
Habe ich eine middleware in laravel 5 genannt IpHitsCounter was nutzt ein Modell namens DeviceInfo, die in-App\Modelle\FrontEnd
<?php namespace App\Http\Middleware\FrontEnd;
use Closure;
use Request;
use BrowserDetect;
use App\Models\FrontEnd\DeviceInfo;
use DB;
class IpHitsCounter {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
DeviceInfo::create(['devices'=>$agentDevice,'deviceFamily'=>$deviceFamily]);
}
Mein Code für Modell:
<?php namespace App\Models\FrontEnd;
use Illuminate\Database\Eloquent\Model;
class DeviceInfo extends Model {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'client_device_infos';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['devices', 'deviceFamily'];
}
Dabei bin ich immer die folgende Fehlermeldung: Class 'App\Models\FrontEnd\DeviceInfo' not found
obwohl die Klasse noch existiert, erhalte ich den Fehler.
- versuchen Sie, composer dump-autoload
- bereits versucht doesnot Arbeit @GauravDave
- Ist Ihr Modell in das richtige Verzeichnis? Sollte
app/Models/FrontEnd/DeviceInfo.php
- ja, ich habe überprüft, es ist dort @lukasgeiter
- was gibt es in
line 31
desIpHitsCounter
- Datei ? - DeviceInfo::create(['devices'=>$agentDevice,'deviceFamily'=>$deviceFamily]); dieser code für die Leichtigkeit, die ich nur zeigte dieser code in meiner Frage Fehler auftreten wegen es
- Aber, wenn ich die Anzahl der Zeilen, die Sie zur Verfügung gestellt für middleware, sind es nur 21 Zeilen. Und auf der Linie 20, die Sie haben, dass
DeviceInfo::create()
Methode. Ich kann nicht mehr sehen, Linien. Also würden Sie bitte mit dem vollständigen Quellcode von der middleware ? - ich hatte mein Modell, ohne mit der artisan-Befehl und ich habe meine Modell immer wieder mit der artisan-Befehl und alles hat gut funktioniert danke für den Blick in mein problem aber @user3514160
- Froh, dass Sie gelöst werden, die Abfrage auf Ihre eigenen.. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, du hast vergessen zu registrieren
middleware
.Öffnen Sie die Datei
app/Http/Kernel.php
Blick für die
$routeMiddleware
Eigenschaft.UPDATE 1: 28. August 2016
Seit Laravel 5.3.* ist veröffentlicht, es sind einige Konfigurationen in der routes-Datei. Vor 5.3 gab es nur 1 Datei namens
routes.php
, aber jetzt gibt es 2 Dateien,web.php
undapi.php
und diese beiden Dateien sind im root-Verzeichnis der Projekte imroutes
Ordner. Fühlen Sie sich frei, check it out.Kommen zu der Lösung, die Sie brauchen, zu öffnen
app/Http/Kernel.php
und Bearbeiten Sie die$middlewareGroups
hatte den Schlüsselweb
. Also, es sollte ungefähr so Aussehen wie diese:protected $routeMiddleware
glaube, es würde ausgeführt haben, ohne dabei alles in Ordnung ist mit der middleware seine Arbeit aber mein problem ist nur die Verwendung von Modell, die ich erstellt habestacktrace
?