Laravel 5.4, Probleme mit Benutzermodell. Ich arbeite gerade an Laravel und bin jetzt über dieses Problem gestolpert.Laravel: Bei Anmeldung: getAuthIdentifierName()
Ich registriere erfolgreich ein Unternehmen und einen zugehörigen Benutzer (es handelt sich um eine Eins-zu-viele-Beziehung zwischen dem Besitzer des Modells und dem Benutzer). Nach der Anmeldung möchte ich den Benutzer anmelden und auf eine bestimmte Seite umleiten. Das ist, wo ich den Fehler:
Call to undefined method App\User::getAuthIdentifierName()
Dies sind die Modelle:
Besitzer
namespace App;
use Illuminate\Database\Eloquent\Model;
class Owner extends Model
{
protected $fillable = ['firma', 'email', 'www'];
public function scopeNumUsers($query, $pId){
return User::where('owner_id', $pId)->count();
}
public function users() {
return $this->hasMany('App\User');
}
}
Benutzer
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Access\Authorizable;
use Illuminate\Auth\CanResetPassword;
class User extends Model
{
protected $fillable = ['name', 'username', 'password', 'email', 'owner_id'];
public function owner() {
return $this->belongsTo('App\Owner');
}
}
Die OwnersController behandelt die Registrierung und Anmeldung:
public function store(Request $request) {
/* Validation */
$this->validate(request(),[
'firma' => 'required|regex:[^(?!.*Firma).*$]',
'email' => 'required|email',
'domain' => 'required',
'name' => 'required|regex:[^(?!.*Name).*$]'
]);
/* Save Owner */
$ownerdata = [
'firma' => $request->firma,
'email' => $request->email,
'www' => $request->domain,
];
$owner = Owner::create($ownerdata);
/* Save User */
$user = new User([
'name' => $request->name,
'username' => $request->email,
'email' => $request->email,
'password' => Bcrypt('zaPasswordWillGoHere')
]);
$owner->users()->save($user);
/* Sign In User */
\Auth::loginUsingId($user->id);
/*
\Auth::login($newUser);*/
/* Redirect */
return redirect('/nms');
}
Ich bekomme, dass Authenticatable scheint, um das Benutzermodell zur Verfügung stehen. Aber ich verstehe nicht, warum, wenn ich es einlege.
Ich freue mich darauf, beleuchtet zu werden.