Laravel livewire ile basit searchable data-table yapimi

Yazar: | 10 Ekim 2021
Bu videoda laravel livewire ile serach alani bulunan ve dinamik bir sekilde sorgu gosteren table hazirlamanin cok basit yolunu gostermisler.

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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir