Пошук у кількох моделях Eloquent за допомогою Cross-Eloquent Search

  • Час читання ~1 хв
  • 2022-09-10 16:17:02
Laravel Cross-Eloquent Search — це пакет для пошуку в кількох моделях Eloquent.

Пошук Laravel Cross-Eloquent — це пакет для пошуку в кількох моделях Eloquent. Цей пакет підтримує сортування, розбивку на сторінки, запити з діапазоном, зв’язки швидкого завантаження та пошук в одному чи кількох стовпцях:

// Returns \Illuminate\Database\Eloquent\Collection
Search::new()
    ->add(Post::class, 'title')
    ->add(Video::class, 'title')
    ->get('howto');
 
// Add multiple models at once
Search::addMany([
    [Post::class, 'title'],
    [Video::class, 'title'],
])->get('howto');

Часто вам потрібно розбивати результати на сторінки, і це пакет робить це легко:

Search::add(Post::class, 'title')
    ->add(Video::class, 'title')
    ->paginate()
    // or
    ->paginate(perPage: 15, pageName: 'page', page: = 1)
    ->get('build');

readme містить масу інформації про використання цього пакета, яку я рекомендую переглянути:

  • Search through one or more Eloquent models
  • Support for cross-model pagination
  • Search through single or multiple columns
  • Order by (cross-model) columns or by relevance
  • Use constraints and scoped queries
  • Eager load relationships for each model
  • In-database sorting of the combined result
  • Zero third-party dependencies

Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub. Автор цього пакету також написав публікацію в блозі , яка містить більш детальну інформацію про використання цього пакета.

Оригінал
avatar

Yurij Finiv

Full stack

ABOUT

I'm full stack laravel developer

I knew my call in programming back in 2006.

WORK EXPERIENCE
CONTACT
Ukraine, Lutsk
+380979856297