> Faqs > Resolver el error Unresolvable dependency resolving en componentes Laravel Blade

Resolver el error Unresolvable dependency resolving en componentes Laravel Blade

Estoy creando componentes con Laravel Blade y la verdad es que no tengo mucha experiencia, ya que tradicionalmente vengo usando @include de toda la vida o @each a lo sumo.

El tema es que me encuentro con un error que es difícil de depurar porque el error no es suficientemente claro sobre qué es lo que está pasando.

Illuminate\Contracts\Container\BindingResolutionException
Unresolvable dependency resolving [Parameter #4 [ <required> $pricediscounts ]] in class App\View\Components\

He probado varias cosas y no encuentro la manera de resolverlo. ¿Alguna ayuda?

Respuestas

Hola! en esta creo que te puedo ayudar.

El problema de los componentes de Laravel que te aparece es porque hay una dependencia del componente, es decir, uno de los atributos que necesita sí o sí, que no se está entregando correctamente.

Para resolver el problema te sugiero que verifiques este checklist:

  • Fíjate en los atributos del constructor de la clase del componente, porque seguramente alguno no lo estés enviando cuando lo usas en la vista Blade. Es decir, fíjate que los atributos del construcor están presentes en las etiquetas del componente.
  • Evita caracteres más allá de las letras comunes en los atributos de los componentes, para ahorrarte problemas. Por ejemplo, no uses el guión bajo para los atributos, simplemente nombres planos. A mi me ha fallado algo como "nombre_atributo".
  • Asegúrate de borrar la caché de blade, porque a veces las vistas se cachean y aunque cambies el código puede que se esté ejecutando compilaciones de las vistas previas a tu cambio.

Para borrar el caché de las vistas de blade lo haces con este comando de Artisan:

php artisan view:clear
Sergio
366 11 32 13
Muchas gracias Sergio! muy view:clear!!! jaja