es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No sé por qué mi declaración if no funcionó (Laravel)

Tengo un problema con mi declaración “if”, intento mostrar estrellas en base a la calificación promedio. Por ejemplo, si la calificación promedio es 4.8, debería mostrar 4 estrellas de advertencia. Sin embargo, he intentado hacer que la declaración solo lea la primera declaración. A continuación se muestra mi código de condición:

@if($reviews->average(‘rating’) >= ‘3’)
@for($i=1;$i<4;$i++)
@php echo $i ? “” : ““; @endphp
@endfor
@elseif($reviews->average(‘rating’) >= ‘4’)
@for($i=1;$i<5;$i++)
@php echo $i ? “” : ““; @endphp
@endfor
@endif

Por favor, ayúdame a entender por qué mi segunda declaración no se lee. En este caso, la segunda declaración debería leerse. Agradezco mucho cualquier ayuda.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar en las condiciones utilizadas en la declaración “if”. La primera condición verifica si la calificación promedio es mayor o igual a 3, pero la segunda condición solo verifica si la calificación promedio es mayor o igual a 4. Esto significa que si la calificación promedio es exactamente 4, no se cumplirán ninguna de las condiciones y la declaración “if” no se ejecutará.

    Para solucionar esto, puedes ajustar las condiciones para incluir todos los posibles valores de calificación promedio que deseas probar. Por ejemplo:

    @if($reviews->average('rating') >= 4.5)
        @for($i=1;$i<6;$i++)
            ...
        @endfor
    @elseif($reviews->average('rating') >= 3.5)
        @for($i=1;$i<5;$i++)
            ...
        @endfor
    @else
        @for($i=1;$i<4;$i++)
            ...
        @endfor
    @endif
    

    En este caso, estamos probando tres rangos de calificación promedio. La primera condición es para calificaciones mayores o iguales a 4.5, la segunda es para calificaciones entre 3.5 y 4.5, y la tercera es para calificaciones por debajo de 3.5. Al ajustar las condiciones de esta manera, podemos asegurarnos de que la sección correcta de la declaración “if” se ejecutará para cualquier valor posible de calificación promedio.

Comments are closed.