2013-10-28 71 views
1

在我的形式,我有這個 {{ Form::open(array('method' => 'put', 'action' => array('[email protected]', $user->id))) }}Laravel 4,不能更新用戶

在我的控制器

,我有這個

public function update($id) 
{ 
    //Find brugeren 
    $user = new User($id); 
    $user->email = Input::get("email"); 
    if (Input::get("password") != ""){ 
     $user->password = Hash::make(Input::get("password")); 
    } 
    $user->update(); 

} 

任何能幫我雖然這?我收到此錯誤: Argument 1 passed to Illuminate\Database\Eloquent\Model::__construct() must be of the type array, string given, called in /home/kampmann/public_html/test/laravel-master/app/controllers/UserController.php on line 79 and defined

回答

5

你應該使用find()方法來更新你的用戶,並使用save()方法保存:

public function update($id) 
{ 
    //Find brugeren 
    $user = User::find($id); /// HERE! 
    $user->email = Input::get("email"); 
    if (Input::get("password") != ""){ 
     $user->password = Hash::make(Input::get("password")); 
    } 
    $user->save(); 

} 
+1

我想你的意思'$用戶>保存()'代替'$ user-> update()' –

+1

是的,還有更多的問題需要解決。感謝名單。 –

+0

謝謝!這最終解決了我所遇到的問題! – mario