No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Filtrado por categoría

12/26
Recursos

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Excelente vamos bien, Liveware es espectacular me encanta.
Super interesante el tema de que se sumen las Querys, básicamente separando la consulta en fragmentos, lo que conseguimos es ese anidamiento lo cual es sumamente útil al momento de querer filtrar por más de un parámetro. 👨‍💻
Para que copien y peguen amiguitos wire:click.prevent="filterByCategory('{{$category->id}}')" public $category= ""; public function filterByCategory($category){ $this->category = $category; } public function render(){ $categories = Category::get(); $x = $class::query(); $x->where('name','like',"%$this->searchCategory%"); if($this->category){ $x->where('category\_id',$this->category); } $x->withCount('replies'); $x->latest(); return $x->get(); }

Yo lo resolvi con un join dentro del componete ShowThreads

 	public $searchCategory='';
  $threads->join('categories','threads.category_id', '=', 'categories.id')
        ->where('name','like',"%$this->searchCategory%");

Ademas de ocupar la propiedad $set de livewire

wire:click="$set('searchCategory','{{$categoria->name}}')"

Si quisieran ocupar solo el click tendrían que modificar el código del inicio de esta manera:

public $searchCategory='';

public function SetCategoria($nombre)
{
	$this->searchCategory=$nombre;
}

El html no cambia mucho:

wire:click="SetCategoria('{{$categoria->name}}')"