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.

Intento de lectura de la propiedad “produits” en nulo en Laravel.

Cuando realizo la acción de inicio de sesión devuelve el error anterior cuando no hay usuario, todo funciona bien.

Este es mi blade, creo que no hay problema con el blade.

$currentTime = date("Y-m-d");
if(Auth::check()){
    $user = Auth::user();
    $favorie = $user->favorie;
    $favprds = $favorie->produits;
}else{
    $favprds = [];
}

@for ( $i = 0; $i < count($favprds) ;$i++)
    @if ($favprds[$i]->id == $pro->id) 
        <div class="tinv-wishlist-clear">
            <a style="color:red;" href="{{ url('deleteFavorie/'.$pro->id) }}"><i class="fa fa-heart"></i></a>
        </div>
        @break
    @elseif($favprds[$i]->id != $pro->id && $i == count($favprds)-1)
        <div class="tinv-wishlist-clear">
            <a href="{{ url('add-to-favorie/'.$pro->id) }}"><i class="klbth-icon-heart-1"></i></a>
        </div>
    @endif
@endfor

@if(count($favprds) == 0)
    <div class="tinv-wishlist-clear">
        <a style="color:#7f8c8d;" href="{{ url('add-to-favorie/'.$pro->id) }}"><i class="klbth-icon-heart-1"></i></a>
    </div>
@endif
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Este fragmento de código verifica si el usuario está autenticado o no utilizando el método Auth::check(). Si el usuario está autenticado, recupera los productos favoritos del usuario de la base de datos, de lo contrario, establece un array vacío para $favprds.

    Luego, el código Blade utiliza un bucle for para iterar a través de los productos favoritos y comparar el id de cada producto favorito con el id del producto actual. Si coinciden, muestra un botón de eliminación; de lo contrario, muestra un botón de agregar.

    Si no hay productos favoritos, muestra un botón de agregar para el producto actual.

    No está claro a qué mensaje de error se refiere la indicación, por lo que es difícil proporcionar una solución específica. Sin embargo, se recomienda verificar si la relación favorie está definida correctamente en el modelo User, y si los datos se almacenan correctamente en la base de datos. Además, puede ser útil depurar el código utilizando dd() o var_dump() para verificar los valores de las variables en diferentes puntos durante la ejecución.

Comments are closed.