diff --git a/app/Http/Livewire/ShowServicios.php b/app/Http/Livewire/ShowServicios.php index 4ddd841..53ebb12 100755 --- a/app/Http/Livewire/ShowServicios.php +++ b/app/Http/Livewire/ShowServicios.php @@ -178,16 +178,21 @@ class ShowServicios extends Component $cantidad_restante = $servicio_tarifa->pantallas - $cantidad_solicitada; //Traer todas las cuentas por pantalla 'activo' de los ultimos 15 dias. solo disponibles - $cuentas_pantallas = Cuentas::withCount('historiales') + $cuentas_pantallas = Cuentas::select('cuentas.*') + ->selectSub(function ($query) { + $query->from('historiales') + ->join('historial_cuentas', 'historiales.id', '=', 'historial_cuentas.historial_id') + ->whereColumn('historial_cuentas.cuenta_id', 'cuentas.id') + ->selectRaw('count(*)'); + }, 'historiales_count') ->whereDate('inicio', '>=', $this->fecha) ->whereDate('vencimiento', '>=', $this->fecha_final_1) ->whereDate('vencimiento', '<=', $this->fecha_final_2) ->where('servicio_id', $servicio_tarifa->id) ->where('estado', 'activo') - ->havingRaw('historiales_count <= ?', [$cantidad_restante]) // Usar havingRaw + ->having('historiales_count', '<=', $cantidad_restante) ->get(); - //dd($cuentas_pantallas); // con count da un numero entero $cuentas_pantallas_tomadas = Historial_cuenta::whereIn('cuenta_id', $cuentas_pantallas