Fix user-specific pricing and utility in verPromocion

Updated the verPromocion method to correctly retrieve user-specific pricing and utility values from the related tarifaPromo relationship. Adjusted relationship queries to use Auth::id() and rol_id for improved accuracy and consistency.
This commit is contained in:
Juan Felipe Duarte
2025-09-03 18:04:03 -07:00
parent ffd4731f44
commit 79159afcc3
+21 -12
View File
@@ -141,27 +141,36 @@ class ShowPromociones extends Component
public function verPromocion($id)
{
$consulta_verpromocion = Promociones::with('tarifas')->where('id', $id)->with([
'usuario_promos' => function ($query) {
$query->where('usuario_id', Auth::user()->id);
},
'tarifaPromo' => function ($query) {
$query->where('rol_id', Auth::user()->rol->id);
}
])->first();
$consulta_verpromocion = Promociones::where('id', $id)
->with([
'tarifas',
'usuario_promos' => function ($query) {
$query->where('usuario_id', Auth::id());
},
'tarifaPromo' => function ($query) {
$query->where('rol_id', Auth::user()->rol_id);
}
])
->first();
// dd($consulta_verpromocion, Auth::user()->rol->id, Auth::user()->id);
//dd($consulta_verpromocion);
//$cuentas_creadas = Cuentas::whereDate('inicio','>=',$this->fecha)->where('servicio_id',$tarifas->servicio->id)->where('estado','!=','inactivo')->where('estado','!=','delete')->get();
//Traer la tarifa personalizada del usuario para esta tarifa.
$usuario_tarifa = Usuario_promo::where('usuario_id', auth()->user()->id)->where('promocion_id', $id)->first();
$this->consulta = $consulta_verpromocion;
$usuario_tarifa = Usuario_promo::where('usuario_id', auth()->user()->id)->where('promocion_id', $id)->first();
// dd($usuario_tarifa);
// $this->consulta = $consulta_verpromocion;
//Si tiene tarifa personalizada toma el precio, si no tiene da el valor de la tarifa.
$this->precioAhora = ($usuario_tarifa) ? $usuario_tarifa->precio : $consulta_verpromocion->precio;
$this->precioAhora = ($usuario_tarifa) ? $usuario_tarifa->precio : $consulta_verpromocion->tarifaPromo->first()->precio;
//Si tiene tarifa personalizada toma la utilidad, si no tiene toma la utilidad de la tarifa.
$this->utilidad = ($usuario_tarifa) ? $usuario_tarifa->utilidad : $consulta_verpromocion->utilidad;
$this->utilidad = ($usuario_tarifa) ? $usuario_tarifa->utilidad : $consulta_verpromocion->tarifaPromo->first()->utilidad;
$this->imagen = $consulta_verpromocion->img_publicidad;