Excelente clase! muchas gracias! Para aquellos que como a mí no se veía reflejado instantáneamente en el h3 lo que se escribía en el input, encontré esta solución: poner .live después de wire:model. Sería así: . Supongo que livewire trae por defecto la opción de NO actualizar el valor de la variable en cuestión de forma automática a medida que se escribe un caracter en el input
y no es recomendable usar en producción el model.live porque hace una petición al servidor cada vez que cambia ingresas o quitas un carácter en el input
nadie en todo RUclips enseña Laravel de una manera tan clara y organizada. Muchas grtacias y si tienes cursos de pago, déjalo saber que me los quiero. Saludos.
Excelente video, Juanjo porque no te segui antes. me hubiera ahorrado horas de videos que ni el 10% de lo que vi explicaban como lo haces, felicitaciones por el esfuerzo y la dedicacion que nos brindas en cada uno de los videos. Agradecido eternamente.
@@GOGODEV Tengo una duda ¿Cómo hago una llamada a un 'wire:click="store"' desde javascript? He creado el CRUD con LiveWire y todo va bien. Pero lo quiero dotar de un poco de estilo/diseño, y estoy usando una librería que desde hace mucho tiempo uso, se llama alertity.js y es para crear alertas/conformaciones/notas para interactuar con el usuario. Lo que me dispongo a hacer es que el usuario haga una confirmación antes de realizar una grabación/borrado... de un registro Si utilizo la función confirm() de javascrpit, no hay problema, hago algo como esto Grabar y en la funcion javascrpit de click del boton if(!confirm("¿Confirmar que quiere grabar los datos?")){ event.stopImmediatePropagation(); alert('¡cancelado!'); } Pero el problema me lo encuentro cuando quiero usar una librería como la antes comentada alertify.js o SweetAlert2, donde debo programar el SUCCESS o el CANCEL. No se como hacerlo ¿Cómo hago una llamada a un 'wire:click="store"' desde javascript? he intentado lo de los listeners, pero no los entiendo o simplemente no se hacerlo. Agradecería que me echaran una mano con esto Muchas gracias
Primero un saludo y muchas gracias por el curso, está genial! Segundo, probé hacer el $this->count = x en la función mount() y no tuve problemas, no sé si es debido a que estoy usando Laravel 11, o quizás sea por las versiones más actualizadas de PHP o el propio Livewire.
Actualización para los que sigan el curso con Laravel 11: -1⃣ - En el archivo app.blade comentar @livewire('navigation-menu') y comentar tambien {{ $slot }}. - 2⃣ - La función destroy debe quedar así: public function destroy($id) { $user = Note::find($id); $user->delete(); $this->feedback = "Nota Borrada"; }
Hola, seguí tu curso pero quería hacer unas pruebas en mi hostin compartido pero no me funciona los modales ni la paginación, podrías ayudarme en eso, tienes algún curso de pago de laravel livewire avanzado. Gracias
Usando tecnologías reactivas incluidas dentro del entorno laravel, en algún momento seria necesario el uso del controlador? o todo desde la lógica de los componentes??
Hola tengo una duda y talvez alguien ya tiene la respuesta; de ser así me gustaria saber: como solucionan el tema del @CSRF de los formularios, la validación de formulario y mensajes flash de respuesta del backend.
@@maulord4 Hola Alejandro! CRUD no es una tecnología. Es un formato abreviado para referirnos a las operaciones de creación, lectura, actualización y borrado de datos. Siglas del inglés: Create Read Update Delete 👍
Hola Jorge! En el caso de livewire, no, no baja el nivel de seguridad. Esto es debido a que el componente de LW funciona por debajo como un patrón de MVVM que no expone rutas, si no que funciona como un único componente de UI, por lo que no es necesaria la directiva de csrf 👍
por que la vista laravel la tienes enlazada a un livewire con y cada uno de los componentes, como un boton wire:click="store", de este livewire están llamando a una función de un 'controlador' livewire y finalmente la funcion render, que viene por defecto, en este ejemplo hace que pinte la vista livewire donde se le pasan todas las notas de la bbdd. No se si te he ayudado o te he complicado mas las cosas. Un saludo
Profe, livewire en que momento se debe instalar en el proyecto? yo tengo un proyecto donde uso el método de autenticación con breeze, solo tengo esa parte hecha y personalizada pero un no tengo livewire, puedo instalarlo en mi proyecto en este momento?
Excelente profe!!! una consultita, hay un tipo de tabla en que me conviene realizar el CRUD en Livewire y otro como el de las clases anteriores? Gracias...
Muchas gracias María Eugenia! La creación de la tabla sería igual independientemente de cómo se vaya a construir el frontal de consumo, ya sea este Blade, livewire o inertia 👍
@@GOGODEV Si, mi duda era si hay una circunstancia o tipo de actividad o tamaño de la tabla, en la cual me conviene usar el Livewire y otra el Controlador común?
Una duda profesor, según su opinión profesional ¿Recomendaría usar y depender de otras herramientas de desarrollo para aglizar el trabajo? Por ejemplo usar Voyager y Splade. ¿Tiene planes incluirlos en el curso o comentar al respecto?
Hola Marvin! Gracias por tu apoyo. La dependencia a paquetes terceros depende del apoyo / soporte que estos tengan. Si observas que se encuentran activos y solucionan parte del desarrollo que no es trivial, no está mal apoyarse en ellos. En principio no los incluiremos dentro del curso, pero sí podemos montar un vídeo tutorial al respecto para cada uno 👍
Hola de nuevo! Excelente como siempre (: Te consulto, no conozco vue y la verdad es que me siento comodo con blade y Livewire, es recomendable que conozca la tecnologia de Vue ? La ultima consulta, las verificaciones de Request, lo resolvemos como antes? es decir creamos por cada componente un request? Ejemplo componentCounter, entonces componentCounterRequest ??
Hola JC! No es necesario conocer vue. Esto depende mucho de tu background como desarrollador. Por norma general, los desarrolladores más enfocados a backend no conocen vue, y eso está bien. Y aquellos más orientados a frontend o fullstack en profundidad sí lo conocen, y también está bien. Si conoces vue o tienes intención de orientarte fuertemente a frontend es bueno conocerlo, pero es solo una herramienta más. Si tu fuerte es el backend, con livewire es suficiente. Al fin y al cabo, son herramientas que persiguen un mismo propósito 👍 En cuanto a la validación con vue, se haría diferente. En el canal tenemos un curso profesional de vue si te interesa adentrarte en la materia 👍
La verdad es extraño, toda esta correctamente e incluso la documentación dice que así se realiza el wire:model, pero en mi caso no me actualiza el username y para el caso del crud que es el message de feedback tampoco lo muestra, pero el crud funciona correcto
La solución de Ángel es buena. SI no nos aplica reactividad, podemos usar dos fórmulas: 1. Lazy, tal y como indica Ángel. 2. Poll (indicando cada cuántos milisegundos queremos forzar la re-consulta)
Hola profe, disculpé, desde la plataforma, además no sé si solo me pasa a mí, pero no me carga el video, se queda en blanco, yo sé que lo puedo venir a ver acá en RUclips sin problema, pero digo por si pasa algo y disculpe.
Hola José! Prueba a volver a pulsar sobre el nombre de la lección y se cargará correctamente. Es un error reportado y aparecerá corregido en el siguiente Update, que se subirá a producción el martes. 👌 Gracias!
wire:model no me actualiza lo que escribo en el cuadro de texto. Solo lo hace si pulso el boton del contador. El codigo lo he revisado y esta identico al tuyo. Alguna idea?
@@josemanuelsanchezgil3063 si a mi igual el crud si funciona correctamente, pero la actualización del username o del feedback ese si no se actualizó o sea en controller de livewire si tiene el dato osea si lo actualizo, pero en la vista no lo renderiza
@@josesalcedo7275 a mi al crear un nuevo proyecto me sale la opcion de breezer-jetstream y otra. Al profe veo que no le sale. Por eso te digo que sera algo con la versión de laravel.
Debe ser la música, al principio pensé q era en mi baño, pero luego detuve el vídeo y me di cuenta q era el vídeo. El sonido sale del background. 😅 Pero creo q.ya me acostumbré
hola, en la parte en que usas la funcion store para incluir datos en la tabla, no es mejor llamar a la ruta desde la logica? es decir, para respetar el hecho de si hay ya un controlador para dicho modelo.
Hola Luis! En este caso, depende de la línea arquitectural que desee seguirse. Ambas soluciones serían válidas, si bien una se orienta más a "hacer fuerte" al patrón MVC del backend (la que propones) mientras la otra da más fuerza al MVVM del reactivo.
Excelente clase! muchas gracias! Para aquellos que como a mí no se veía reflejado instantáneamente en el h3 lo que se escribía en el input, encontré esta solución: poner .live después de wire:model. Sería así: . Supongo que livewire trae por defecto la opción de NO actualizar el valor de la variable en cuestión de forma automática a medida que se escribe un caracter en el input
Gracias!
y no es recomendable usar en producción el model.live porque hace una petición al servidor cada vez que cambia ingresas o quitas un carácter en el input
Iba a a poner lo mismo, me he vuelto un poco loco con esto :-)
@@vittfiles4567 pero si no específicas .live no funciona el ejemplo, al menos a mi
@@fuenpe cierto. solo recomiendo no usarlo en producción para evitar la sobrecarga del servidor.
Tus explicaciones valen oro.
Muchas gracias!
El mejor profesor en linea sin ninguna duda
Muchas gracias José Manuel!
Me quito el sombrero, primera vez que escucho una explicación de esta manera!!! Excelente sigan adelante con mas cursos
Excelente video, muchas gracias, me ha ayudado mucho
Que auténtica maravilla. Todo los vídeos son geniales
Ahora mismo para mi uno de los mejores profesores en línea.
Muchas gracias Rubén!
nadie en todo RUclips enseña Laravel de una manera tan clara y organizada. Muchas grtacias y si tienes cursos de pago, déjalo saber que me los quiero.
Saludos.
Muchas gracias, Claudio! En gogodev, todo es gratis 👌
Excelente video, Juanjo porque no te segui antes. me hubiera ahorrado horas de videos que ni el 10% de lo que vi explicaban como lo haces, felicitaciones por el esfuerzo y la dedicacion que nos brindas en cada uno de los videos. Agradecido eternamente.
Muchas gracias por tu apoyo Sandokan!
Gran curso, ameno, muy bien explicado...
Muchas gracias
Muchas gracias por tu apoyo!
@@GOGODEV Tengo una duda
¿Cómo hago una llamada a un 'wire:click="store"' desde javascript?
He creado el CRUD con LiveWire y todo va bien.
Pero lo quiero dotar de un poco de estilo/diseño, y estoy usando una librería que desde hace mucho tiempo uso, se llama alertity.js y es para crear alertas/conformaciones/notas para interactuar con el usuario.
Lo que me dispongo a hacer es que el usuario haga una confirmación antes de realizar una grabación/borrado... de un registro
Si utilizo la función confirm() de javascrpit, no hay problema, hago algo como esto
Grabar
y en la funcion javascrpit de click del boton
if(!confirm("¿Confirmar que quiere grabar los datos?")){
event.stopImmediatePropagation();
alert('¡cancelado!');
}
Pero el problema me lo encuentro cuando quiero usar una librería como la antes comentada alertify.js o SweetAlert2, donde debo programar el SUCCESS o el CANCEL.
No se como hacerlo ¿Cómo hago una llamada a un 'wire:click="store"' desde javascript? he intentado lo de los listeners, pero no los entiendo o simplemente no se hacerlo.
Agradecería que me echaran una mano con esto
Muchas gracias
usar debounce.250ms hace que la petición al servidor solo se haga cuando se deje de teclear por al menos 250s, reduciendo en numero de peticiones.
Primero un saludo y muchas gracias por el curso, está genial! Segundo, probé hacer el $this->count = x en la función mount() y no tuve problemas, no sé si es debido a que estoy usando Laravel 11, o quizás sea por las versiones más actualizadas de PHP o el propio Livewire.
excelente video como siempre es una manera eficaz de entender, muchas gracias por el aporte, sigo pendiente de este curso exitos.
Muchas gracias Cristian! Seguimos 💪
Este video es buenisimo!
Excelente curso. Gracias
Muchas gracias Juan!
Didáctico y al grano a más no poder. Enhorabuena. Tienes en mente hacer algo más en profundidad con Livewire? temas de maestro detalle y relacionados?
Muy bueno, gracias!
Muchas gracias José!
Salamadre que basado!
¡Gracias!
Muchas gracias por tu apoyo tocayo!
Actualización para los que sigan el curso con Laravel 11:
-1⃣ - En el archivo app.blade comentar @livewire('navigation-menu') y comentar tambien {{ $slot }}.
- 2⃣ - La función destroy debe quedar así:
public function destroy($id)
{
$user = Note::find($id);
$user->delete();
$this->feedback = "Nota Borrada";
}
Hola, seguí tu curso pero quería hacer unas pruebas en mi hostin compartido pero no me funciona los modales ni la paginación, podrías ayudarme en eso, tienes algún curso de pago de laravel livewire avanzado. Gracias
Usando tecnologías reactivas incluidas dentro del entorno laravel, en algún momento seria necesario el uso del controlador? o todo desde la lógica de los componentes??
Hola tengo una duda y talvez alguien ya tiene la respuesta; de ser así me gustaria saber:
como solucionan el tema del @CSRF de los formularios, la validación de formulario y mensajes flash de respuesta del backend.
Genial, sería bueno implementar vue 3 con algún crud o algo que se te ocurra crack estaría estupendo
Gracias César! Claro, lo veremos en el siguiente episodio, dedicado a inertia 👍
Explique me que es crud. Me recomendaron Vue con Laravel pero no se porque y ahora confirmo
@@maulord4 Hola Alejandro! CRUD no es una tecnología. Es un formato abreviado para referirnos a las operaciones de creación, lectura, actualización y borrado de datos. Siglas del inglés: Create Read Update Delete 👍
Como en ese caso que no se coloca un formulario con su @csrf, ¿No es muy bulnerable a ataques de hackers?
Hola Jorge! En el caso de livewire, no, no baja el nivel de seguridad. Esto es debido a que el componente de LW funciona por debajo como un patrón de MVVM que no expone rutas, si no que funciona como un único componente de UI, por lo que no es necesaria la directiva de csrf 👍
Excelente curso profesor.
Tengo una consulta,¿como livewire sabe cuando actualizar la lista de notas?,ya sea cuando se borro a agrego una nueva nota.
por que la vista laravel la tienes enlazada a un livewire con y cada uno de los componentes, como un boton wire:click="store", de este livewire están llamando a una función de un 'controlador' livewire y finalmente la funcion render, que viene por defecto, en este ejemplo hace que pinte la vista livewire donde se le pasan todas las notas de la bbdd.
No se si te he ayudado o te he complicado mas las cosas.
Un saludo
Profe, livewire en que momento se debe instalar en el proyecto? yo tengo un proyecto donde uso el método de autenticación con breeze, solo tengo esa parte hecha y personalizada pero un no tengo livewire, puedo instalarlo en mi proyecto en este momento?
Sí, sin ningún problema. Livewire no tiene restricciones sobre el momento de su inclusión en el proyecto 👍
Excelente profe!!! una consultita, hay un tipo de tabla en que me conviene realizar el CRUD en Livewire y otro como el de las clases anteriores? Gracias...
Muchas gracias María Eugenia! La creación de la tabla sería igual independientemente de cómo se vaya a construir el frontal de consumo, ya sea este Blade, livewire o inertia 👍
@@GOGODEV Si, mi duda era si hay una circunstancia o tipo de actividad o tamaño de la tabla, en la cual me conviene usar el Livewire y otra el Controlador común?
@@marian876 Ah! ok!. No, no existen restricciones a tener en cuenta entre DB y frontal, ya que ambos van a ser agnósticos entre sí. 👍
Una duda profesor, según su opinión profesional ¿Recomendaría usar y depender de otras herramientas de desarrollo para aglizar el trabajo? Por ejemplo usar Voyager y Splade. ¿Tiene planes incluirlos en el curso o comentar al respecto?
Hola Marvin! Gracias por tu apoyo. La dependencia a paquetes terceros depende del apoyo / soporte que estos tengan. Si observas que se encuentran activos y solucionan parte del desarrollo que no es trivial, no está mal apoyarse en ellos.
En principio no los incluiremos dentro del curso, pero sí podemos montar un vídeo tutorial al respecto para cada uno 👍
@@GOGODEV Excelente, muchas gracias 👍🏼
Lo que no consigo de ninguna forma es hacer un CRUD con Livewire usando formularios dentro de un Modal de Bootstrap 5...
Hola de nuevo! Excelente como siempre (: Te consulto, no conozco vue y la verdad es que me siento comodo con blade y Livewire, es recomendable que conozca la tecnologia de Vue ? La ultima consulta, las verificaciones de Request, lo resolvemos como antes? es decir creamos por cada componente un request? Ejemplo componentCounter, entonces componentCounterRequest ??
Hola JC! No es necesario conocer vue. Esto depende mucho de tu background como desarrollador. Por norma general, los desarrolladores más enfocados a backend no conocen vue, y eso está bien. Y aquellos más orientados a frontend o fullstack en profundidad sí lo conocen, y también está bien. Si conoces vue o tienes intención de orientarte fuertemente a frontend es bueno conocerlo, pero es solo una herramienta más. Si tu fuerte es el backend, con livewire es suficiente. Al fin y al cabo, son herramientas que persiguen un mismo propósito 👍
En cuanto a la validación con vue, se haría diferente. En el canal tenemos un curso profesional de vue si te interesa adentrarte en la materia 👍
@@GOGODEV Recibido, y muchas gracias por tus respuestas😎
La verdad es extraño, toda esta correctamente e incluso la documentación dice que así se realiza el wire:model, pero en mi caso no me actualiza el username y para el caso del crud que es el message de feedback tampoco lo muestra, pero el crud funciona correcto
intenta con wire:model.lazy="name"
La solución de Ángel es buena.
SI no nos aplica reactividad, podemos usar dos fórmulas:
1. Lazy, tal y como indica Ángel.
2. Poll (indicando cada cuántos milisegundos queremos forzar la re-consulta)
yo tuve que usar , es decir, agregarle .live y funciona
Sera un error tonto seguro, pero dejalo, el crud si me funciona perfecto. Gracias
Hola profe, disculpé, desde la plataforma, además no sé si solo me pasa a mí, pero no me carga el video, se queda en blanco, yo sé que lo puedo venir a ver acá en RUclips sin problema, pero digo por si pasa algo y disculpe.
Hola José! Prueba a volver a pulsar sobre el nombre de la lección y se cargará correctamente. Es un error reportado y aparecerá corregido en el siguiente Update, que se subirá a producción el martes. 👌 Gracias!
@@GOGODEV muchas gracias igual no es una queja es para ayudar pues, más bien muchas gracias a usted por todo
Oro Puro
Mil gracias Deimar!
Es estraño pero la carpeta livewire no me la crea dentro de http la crea directamente dentro de app
¡Hola Jose Manuel!, Esto será debido a modificaciones en la versión de Livewire utilizada.
wire:model no me actualiza lo que escribo en el cuadro de texto. Solo lo hace si pulso el boton del contador. El codigo lo he revisado y esta identico al tuyo. Alguna idea?
Puedes pasarme un enlace a un repo con el código para echarle un vistazo?
Lograste solventar? me sale el mismo detalle
Creo que es del nuevo laravel 10, lo prove en otro ordenador con una instalacion limpia y me pasa lo mismo. Pero el crud si me funciono bien
@@josemanuelsanchezgil3063 si a mi igual el crud si funciona correctamente, pero la actualización del username o del feedback ese si no se actualizó o sea en controller de livewire si tiene el dato osea si lo actualizo, pero en la vista no lo renderiza
@@josesalcedo7275 a mi al crear un nuevo proyecto me sale la opcion de breezer-jetstream y otra. Al profe veo que no le sale. Por eso te digo que sera algo con la versión de laravel.
:'( me quedé esperando un ejemplo paso a paso de DDD en laravel
El video es muy largo para solamente explicar lo mismo que viene en la documentación con un crud muy sencillo.
1:20:23 Que rico fondo 😈
🤣
soy el unico q le molesta el sonido como de goteo en el background?
Hola Jose! ¿Es posible que sea debido a la música? ¿Te ocurre en todos los videos o solo en este? Un abrazo!
Debe ser la música, al principio pensé q era en mi baño, pero luego detuve el vídeo y me di cuenta q era el vídeo. El sonido sale del background. 😅 Pero creo q.ya me acostumbré
@@jadams2k18 Probaré a cambiarla en el futuro 👍
hola, en la parte en que usas la funcion store para incluir datos en la tabla, no es mejor llamar a la ruta desde la logica? es decir, para respetar el hecho de si hay ya un controlador para dicho modelo.
Hola Luis! En este caso, depende de la línea arquitectural que desee seguirse. Ambas soluciones serían válidas, si bien una se orienta más a "hacer fuerte" al patrón MVC del backend (la que propones) mientras la otra da más fuerza al MVVM del reactivo.