middleware('auth'); } public function index() { return view('grupos/grupos',['users'=>User::select('id','name')->where('activo',1)->where('eliminado',0)->get()]); } function nuevo_grupo(Request $request){ Grupos::create($request->grupos); return "Exito"; } function agregar_users_grupo(Request $request){ $grupo= collect($request->all())->except('_token','fk_id_users'); $usuariosActual = User::where('fk_id_grupos',$grupo)->pluck('id')->toArray(); $usuariosNuevo= collect($request->all())->except('_token','fk_id_grupos')->toArray(); $nuevosintegrantes = array_diff($usuariosNuevo['fk_id_users'] , $usuariosActual); $sacarintegrantes = array_diff( $usuariosActual,$usuariosNuevo['fk_id_users'] ); //INSERTAR USUARIOS AL GRUPO Y ACTUALIZA USUARIO if(!empty($nuevosintegrantes)){ foreach($nuevosintegrantes as $dato ){ UsersGrupos::create(['fk_id_users' => $dato, 'fk_id_grupos'=>$grupo['fk_id_grupos'], 'activo'=>1]); User::where('id',$dato )->update([ 'fk_id_grupos' => $grupo['fk_id_grupos']]); } } //SACA USUARIOS DEL GRUPO Y ACTUALIZA USUARIO A 0 if(!empty($sacarintegrantes)){ echo("sacar Integrantes"); foreach($sacarintegrantes as $dato ){ UsersGrupos::where('fk_id_users',$dato )->update([ 'activo'=>0, 'eliminado'=>1]); User::where('id',$dato )->update([ 'fk_id_grupos' => 0 ]); } } return "Exito"; } public function eliminar_grupo(Request $request){ Grupos::where('id',$request->id )->update([ 'activo'=>0, 'eliminado'=>1]); User::where('fk_id_grupos',$request->id)->update([ 'fk_id_grupos' => 0 ]); } public function vaciar_users_grupo(Request $request){ User::where('fk_id_grupos',$request->fk_id_grupos)->update([ 'fk_id_grupos' => 0 ]); } }