Enviar una variable de un controlador a otro controlador

Publicado hace 9 meses por checho

Hola a todos tengo un controlador A, que tiene 2 funciones que me sirven para calcular unos porcentajes de voto, son las sgtes:

controlador A

  public function percent_for_behavior_by_value()
  {
    $rate_behavior = Rate_Behavior::all()->pluck('personal_rate');
    $results = array();
    $i = 0;
    foreach ($rate_behavior as $value) {
      $personal_percent_rate_for_behavior_by_value = (int) $value;
      $max_rate  = 100;
      $max_rate_equivalent = 3;
      $calculo = $personal_percent_rate_for_behavior_by_value * $max_rate / $max_rate_equivalent;
      $results[$i] = $calculo;
      $i= $i+1;
    }
    return $results;
  }

  public function percent_for_values()
  {
    $results = $this->percent_for_behavior_by_value();
    $promedio = 0;
    foreach ($results as $value) {
      $promedio = $promedio + $value;
    }
    $promedio =  $promedio / sizeof($results);    
    return $promedio;
  }

dentro del controlador A tengo otra funcion que me envia a la vista con la variable $results

  public function show_view_cpv($id)
  {
    try {
      $value = Value::findOrFail($id);
      $behaviors_by_value = $value->Values_For_Behavior()->get();

      $results = $this->percent_for_behavior_by_value();
      return view('user.partials.behaviors_by_value', compact('behaviors_by_value', 'results'));
    } catch (\Exception $e) {
      dd($e->getMessage());
      return redirect()->back()->with('error', 'Lo sentimos ha ocurrido un error');
    }
  }

pero en el controlador A nececito enviar la variable $promedio que retorno en la funcion percent_for_values,al controlador B

como hago para enviarla desde el controlador A al B, o llamarla del B

controlador B

  public function show_user_profile()
  {
      $user = User::where('id', Auth::id())->first();
      $values = Value::where('value_status', 't')->get();

      return view('user.user_profile', compact('user', 'values'));
  }

gracias de antemano para todos

Editado