Livewire slogani, js kullanmadan dinamik siteler yapmak. Bu acidan oldukca basarili bir yapi, bununla beraber model alaninda
public static function search($search){
return empty($search) ? static::query()
: static::query()->where('name', 'like', '%'.$search.'%')
->orWhere('slug', 'like', '%'.$search.'%');
}
yukaridakine benzer bir koda yazarak dinamik bir sorgulamayi livewire component alaninda cok rahat hazirlayabilirsiniz.
<?php
namespace App\Http\Livewire\Admin;
use App\Models\Category;
use App\Models\Language;
use Livewire\Component;
use Livewire\WithPagination;
class AdminCategoryComponent extends Component
{
use WithPagination;
protected $paginationTheme = 'bootstrap';
public $search;
public function render()
{
return view('livewire.admin.admin-category-component',
[ 'categories' => Category::search($this->search)->orderBy('id','DESC')->Paginate(10), 'langs'=>Language::all()]
)->layout('layouts.admin');
}
}
Bu yapida datatable ile pagination kullanabilmek oldukca onemli, cunku projede az data varken sorun olmazken, proje verisi artinca table da verileri cekmek sunucuyu yordugu icin projenin hizini oldukca etkileyecektir.
Bir hocamizin dedigi gibi livewire candir !
Sorunuz olursa yoruma birakin, zaman olursa uzerinde konusabiliriz.