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