Laravel Sentry更新用户

Laravel Sentry更新用户,laravel,cartalyst-sentry,Laravel,Cartalyst Sentry,我对哨兵有意见。问题可能是在$user=Sentry::getUserProvider()->findById($id)下;它不仅仅是找到一个用户,而是找到许多用户。因此,它无法识别方法user->save 我怎样才能解决这个问题 我正在尝试构建一个表单来编辑我的用户详细信息 多谢各位 我的表单如下所示: {{ Form::open(array('url' => 'profile/useredit')) }}

我对哨兵有意见。问题可能是在$user=Sentry::getUserProvider()->findById($id)下;它不仅仅是找到一个用户,而是找到许多用户。因此,它无法识别方法user->save

我怎样才能解决这个问题

我正在尝试构建一个表单来编辑我的用户详细信息

多谢各位

我的表单如下所示:

 {{ Form::open(array('url' => 'profile/useredit')) }}

                                            {{ Form::text('address',null) }}
                                            <br>
                                            {{Form::submit('Submit', array('class' => 'btn btn-default'))}}
                                        {{ Form::close() }}



/**
         * Edit the user profile under profile/user
         *
         * @return View
         */
        public function postUseredit(){
            try {
            $id= Session::get(Config::get('sentry::sentry.session.user')); 
            // Get the user information
            $user = Sentry::getUserProvider()->findById($id);
        } catch (UserNotFoundException $e) {
            // Prepare the error message

            $error = Lang::get('users/message.user_not_found', compact('id'));

            // Redirect to the user management page
            return Redirect::route('users')->with('error', $error);
        }


        try {
            // Update the user
            $user->first_name  = Input::get('first_name');
            $user->last_name   = Input::get('last_name');
            $user->email       = Input::get('email');
            $user->dob   = Input::get('dob');
            $user->bio   = Input::get('bio');
            $user->gender   = Input::get('gender');
            $user->country   = Input::get('country');
            $user->state   = Input::get('state');
            $user->city   = Input::get('city');
            $user->address   = Input::get('address');
            $user->postal   = Input::get('postal');
            $user->activated   = Input::get('activate')?1:0;


/*
            // is new image uploaded?
            if ($file = Input::file('pic'))
            {
                $fileName        = $file->getClientOriginalName();
                $extension       = $file->getClientOriginalExtension() ?: 'png';
                $folderName      = '/uploads/users/';
                $destinationPath = public_path() . $folderName;
                $safeName        = str_random(10).'.'.$extension;
                $file->move($destinationPath, $safeName);

                //delete old pic if exists
                if(File::exists(public_path() . $folderName.$user->pic))
                {
                    File::delete(public_path() . $folderName.$user->pic);
                }

                //save new file path into db
                $user->pic   = $safeName;

            }

            */
/*
            // Get the current user groups
            $userGroups = $user->groups()->lists('group_id', 'group_id');

            // Get the selected groups
            $selectedGroups = Input::get('groups', array());

            // Groups comparison between the groups the user currently
            // have and the groups the user wish to have.
            $groupsToAdd    = array_diff($selectedGroups, $userGroups);
            $groupsToRemove = array_diff($userGroups, $selectedGroups);

            // Assign the user to groups
            foreach ($groupsToAdd as $groupId) {
                $group = Sentry::getGroupProvider()->findById($groupId);

                $user->addGroup($group);
            }

            // Remove the user from groups
            foreach ($groupsToRemove as $groupId) {
                $group = Sentry::getGroupProvider()->findById($groupId);

                $user->removeGroup($group);
            }
*/
            // Was the user updated?
            if ($user->save()) {
                // Prepare the success message
                $success = Lang::get('users/message.success.update');

                // Redirect to the user page
                return Redirect::route('profile/user', $id)->with('success', $success);
            }

            // Prepare the error message
            $error = Lang::get('users/message.error.update');
        } catch (LoginRequiredException $e) {
            $error = Lang::get('users/message.user_login_required');
        }

        // Redirect to the user page
        return Redirect::route('profile/user', $id)->withInput()->with('error', $error);
    }
{{Form::open(数组('url'=>'profile/useredit'))}
{{Form::text('address',null)}

{{Form::submit('submit',array('class'=>'btn-btn-default'))} {{Form::close()}} /** *在“配置文件/用户”下编辑用户配置文件 * *@返回视图 */ 公共函数posturedit(){ 试一试{ $id=Session::get(Config::get('sentry::sentry.Session.user'); //获取用户信息 $user=Sentry::getUserProvider()->findById($id); }捕获(UserNotFoundException$e){ //准备错误消息 $error=Lang::get('users/message.user_not_found',compact('id'); //重定向到用户管理页面 return Redirect::route('users')->带有('error',$error); } 试一试{ //更新用户 $user->first_name=Input::get('first_name'); $user->last_name=Input::get('last_name'); $user->email=Input::get('email'); $user->dob=Input::get('dob'); $user->bio=Input::get('bio'); $user->gender=Input::get('gender'); $user->country=Input::get('country'); $user->state=Input::get('state'); $user->city=Input::get('city'); $user->address=Input::get('address'); $user->postal=Input::get('postal'); $user->activated=Input::get('activate')?1:0; /* //新图片上传了吗? 如果($file=Input::file('pic')) { $fileName=$file->getClientOriginalName(); $extension=$file->getClientOriginalExtension()?:'png'; $folderName='/uploads/users/'; $destinationPath=public_path().$folderName; $safeName=str_random(10)。'..$extension; $file->move($destinationPath,$safeName); //删除旧图片(如果存在) 如果(文件::存在(public_path().$folderName.$user->pic)) { 文件::删除(public_path().$folderName.$user->pic); } //将新文件路径保存到数据库中 $user->pic=$safeName; } */ /* //获取当前用户组 $userGroups=$user->groups()->列表('group_id','group_id'); //获取选定的组 $selectedGroups=Input::get('groups',array()); //组用户当前所在的组之间的比较 //拥有和用户希望拥有的组。 $groupsToAdd=array_diff($selectedGroups,$userGroups); $groupsToRemove=array_diff($userGroups,$selectedGroups); //将用户分配到组 foreach($groupstoaddas$groupId){ $group=Sentry::getGroupProvider()->findById($groupId); $user->addGroup($group); } //从组中删除用户 foreach($groupsToRemove作为$groupId){ $group=Sentry::getGroupProvider()->findById($groupId); $user->removeGroup($group); } */ //用户是否已更新? 如果($user->save()){ //准备成功信息 $success=Lang::get('users/message.success.update'); //重定向到用户页面 return Redirect::route('profile/user',$id)->with('success',$success); } //准备错误消息 $error=Lang::get('users/message.error.update'); }捕获(LoginRequiredException$e){ $error=Lang::get('users/message.user\u login\u required'); } //重定向到用户页面 return Redirect::route('profile/user',$id)->withInput()->with('error',$error); }
而不是

$user = Sentry::getUserProvider()->findById($id);
试试这个

$user = Sentry::findUserById($id);

错误是Symfony\Component\Debug\Exception\FatalErrorException(E_Error)调用未定义的方法illumb\Database\elounce\Collection::save()