0

ここで何が間違っていますか?

public static function updateuserdetails(){

   $user_id_update_user_details = Input::get();
    // find the user to update : 
   $user = User::where( 'user_id' , '=', $user_id_update_user_details['user_id'] )->first() ;

   foreach ( $user_id_update_user_details as $key => $value) {        
       $user->$key = $value ;
   }

 $affected = $user->save();
 return $affected ;
} 

データをデータベースに保存しません。すべての列から何を更新する必要があるかわからないため、「foreach」ループを使用する必要があります。

4

1 に答える 1

1

モデルにアクセス可能な配列を設定し、代わりに fill を使用します。あと…あなたのIDは「id」じゃないですか?その場合、user_id の値を設定すると、基礎となる SQL が失敗する可能性があります。

class User extends Eloquent {

    public static $accessible = array( 'id', 'name', 'email', ... );

}

Route::post( 'user/save', function ()
{
    $user = User::find( Input::get( 'id' ) );

    if ( empty( $user ) )
        return 'Could not find user';

    $user->fill( Input::get() );

    $user->save();
});
于 2013-03-11T19:01:55.830 に答える