No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Introducci贸n a Laravel 8

Curso de Introducci贸n a Laravel 8

Profesor Italo Morales F

Profesor Italo Morales F

Componente Livewire

11/21
Recursos

Aportes 19

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Livewire es super interesante y 煤til, lo he estado utilizando unos meses, y me ha encantado.

Si quieren profundizar un poco m谩s, yo aprend铆 y comenc茅 gracias a Italo tambi茅n, en su canal de Youtube.

Les dejo una peque帽a lista de reproducci贸n donde Italo explica super bien como realizar un CRUD con Livewire

https://www.youtube.com/playlist?list=PLhCiuvlix-rSRRmZAL2CNOMAUjgEiFoSl

En lo personal me agrada m谩s esta forma para pasar la informaci贸n a la vista:

public function render()
{
    $courses = Course::latest()->with('user')->take(9)->get();
     return view('livewire.course-list', compact('courses'));
}

Mis aportes:

Les super recomiendo el curso oficial de livewire impartido por el propio creador de este framework. https://laravel-livewire.com/screencasts/installation

Con livewire no podemos utilizar una api rest, es apropiado usar livewire y tener todo con php?

Componente Livewire


Podemos crear componentes con livewire, pero necesitamos usar el siguiente comando:

php artisan make:livewire *nombreComponente*

Y este dentro de 馃搧 views 鈫 livewire crear谩 los componentes, adem谩s de crear un lugar donde alojar nuestros componentes en 馃搧 app 鈫 Http 鈫 Livewire . Para llamarlos dentro de otro archivo vamos a escribir

<livewire:*nombre-componente*></livewire:*nombre-componente*>

En el archivo del componente dentro App, tenemos que decirle que nos va retornar, indicarle la tabla y la columna.

public function user()
{
    return $this->belongsTo(User::class);
}

Uhhh me gusta c贸mo maneja Laravel los componentes, pr谩cticamente hay un controlador por cada componente 馃
.
Mirando los snippets que me proporciona VSCode veo que tambi茅n se pueden importar scripts y styles usando estos componentes, me pregunto c贸mo manejara Laravel los requests a cada componente鈥 馃

Ya me gustaba laravel, ahora me gusta mas!

Ojo con la sintaxis

<liveware:course-list>

que no tira error.

la manera correctar de llamar el componente ser铆a:

@livewire('name-component')

no en forma de etiqueta, aunque funciona y no da error no es como expone la documentaci贸n oficial.

El comando del livewire 馃槂

php artisan make:livewire CourseList

A la hora de hacer la prueba del curso, hay un error con respecto a la ubicaci贸n de los archivos de Livewire

Documentaci贸n oficial de Livewire 馃憣馃徎

https://laravel-livewire.com/

MI menu

class Menu extends Component
{
    public function render()
    {   //$categories = Category::all();
        
        $categories_id = Category::pluck('id'); 
        $sub_category = array();
        foreach($categories_id as $key => $category_id){
           $categories[$key] = Category::where('id',$category_id)->with('subcategories')->get();            
        }
        $categories =  json_encode($categories);
        $categories =  json_decode($categories);
   
        return view('livewire.menu')->with('categories',$categories);        
    }
   
}

La relaci貌n

class Category extends Model
{
    use HasFactory;
   
    public function subcategories(){

        return $this->hasMany(Subcategory::class);
    }
    
}

Mi vista

<div class="hidden sm:block sm:ml-6">          
          <div class="flex space-x-4 group inline-block relative">
        @foreach ($categories as $data)
            <div class="relative">
              @foreach ($data as $category)              
                <span class="pr-4 font-semibold"><a href="#" class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" role="menuitem" tabindex="-1" id="menu-item-0">{{$category->name}}</a></span>                                                                               
                @foreach ($category->subcategories as $subcategory)
                <div x-show="open" class="block px-4 py-2 text-sm bg-gray-100 rounded-md">  
                  <a href="#" class='block px-4 py-2 text-sm text-gray-300 text-gray-700 hover:bg-gray-400 hover:text-white'>{{$subcategory->name}}</a>
                </div>    
                @endforeach                
              
              @endforeach
            </div>                
            @endforeach
          
          </div>
        </div>

Que decepcionante que en este curso donde se supone que aprenderemos livewire como una de las novedades de laravel el profesor entregue esta calidad tan p茅sima de la funcionalidad. No entiendo, 驴Por qu茅 no profundizar m谩s en esta herramienta, por qu茅 no puede ser este el curso definitivo para eso? Es lamentable que de manera gratuita encuentre informaci贸n m谩s enriquecida de esto cuando se supone que pago por lo que tanto dice Freddy 鈥淣o somos la 煤nica ruta, pero s铆 la m谩s f谩cil鈥. A este paso tambi茅n deber铆a agregar 鈥渓a m谩s pobre en informaci贸n鈥

Realmente!!! Este curso me aclara mis DUDAS 鈥 He sufrido con tutoriales, libros, consultas y no he podido aclarar mis 鈥減roblemas鈥 鈥 creo que seguir铆a repitiendo cursos y cursos hasta aprenderlo bien 鈥

Otra opci貌n para insertar los componentes de livewire es usando las etiquetas de blade
algo as铆:

<div>
        @livewire('course-list')
</div>

index.blade.php

@extends('layouts.web')

@section('content')
    <div class=text-center>
        <h1 class="text-3xl text-gray-700 mb-2 uppercase">脷ltimos Cursos</h1>
        <h2 class="text-xl text-gray-600">F贸rmate online como profesional en Tecnolog铆a</h2>
        <h3 class="text-lg text-gray-600">70% de los graduados duplica sus ingresos</h3>
    </div>

    <livewire:course-list>
@endsection

course-list.blade.php

<div>
    Hola
    @foreach($courses as $course)
        {{ $course->id }}

    @endforeach
</div>