• Час читання ~1 хв
  • 10.09.2022

Пошук 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. Автор цього пакету також написав публікацію в блозі , яка містить більш детальну інформацію про використання цього пакета.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297