2014-04-18 4 views
6

Update:Argument fehlt 2 für Illuminate Database Eloquent Modell :: setAttribute() Laravel 4.1

ich ein Problem in meiner Abmeldung haben, wenn ich in Laravel 4 gearbeitet funktioniert es Finne aber in Laravel 4.1 ich habe diesen Fehler:

Missing argument 2 for Illuminate\Database\Eloquent\Model::setAttribute(), 
called in  
C:\Users\mohammed\workspace\mylittlebiz\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 2432 and defined 

dies meine Aktion:

public function doLogout() 
{ 
    Auth::logout(); // log the user out of our application 
    return Redirect::to('login'); // redirect the user to the login screen 
} 

das mein Modell:

use Illuminate\Auth\UserInterface; 
use Illuminate\Auth\Reminders\RemindableInterface; 

class User extends Eloquent implements UserInterface, RemindableInterface { 

/** 
* The database table used by the model. 
* 
* @var string 
*/ 
protected $table = 'users'; 
    protected $hidden = array('password'); 

/** 
* Get the unique identifier for the user. 
* 
* @return mixed 
*/ 
public function getAuthIdentifier() 
{ 
    return $this->getKey(); 
} 

/** 
* Get the password for the user. 
* 
* @return string 
*/ 
public function getAuthPassword() 
{ 
    return $this->password; 
} 

/** 
* Get the e-mail address where password reminders are sent. 
* 
* @return string 
*/ 
public function getReminderEmail() 
{ 
    return $this->email; 
} 

/* overriding actions from abstact class*/ 
public function getRememberToken(){} 

public function setRememberToken($value){} 

public function getRememberTokenName(){} 
+0

Haben Sie eine 'mutator/setKeyAttribute' Methode in Ihrem' User' Modell? –

+0

Nein was genau sollte ich meinem Modell hinzufügen? – Mohammadov

+0

Nichts, dachte ich, das war ein Problem. –

Antwort

11

Ich hatte genau das gleiche Problem ...

Versuchen Sie, Ihre Methoden in Ihrem Benutzer-Modell wie folgt zu aktualisieren:

public function getRememberToken() 
{ 
    return $this->remember_token; 
} 

public function setRememberToken($value) 
{ 
    $this->remember_token = $value; 
} 

public function getRememberTokenName() 
{ 
    return 'remember_token'; 
} 

Auch Sie können einen Blick auf:

http://laravel.com/docs/upgrade

Philipp

+0

Vielen Dank Philipp es funktioniert jetzt :) – Mohammadov

+1

Vielleicht sollten Sie 'remember_token' Feld in Ihrer Benutzertabelle hinzufügen, wenn Sie nicht haben – MaicolBen

Verwandte Themen