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