扩展推荐:Cross-Eloquent Search 跨多个 Eloquent 模型进行搜索

Laravel

Laravel Cross-Eloquent Search 是一个用于搜索多个 Eloquent 模型的扩展包。 支持排序、分页、范围查询、预先加载关系以及搜索单列或多列:

// Returns \Illuminate\Database\Eloquent\Collection
Search::new()
    ->add(Post::class, 'title')
    ->add(Video::class, 'title')
    ->get('howto');

// 一次添加多个模型
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 :

  • 搜索一个或多个 Eloquent 模型
  • 支持跨模型分页
  • 搜索单列或多列
  • 按(跨模型)列或按相关性排序
  • 使用约束和范围查询
  • 每个模型的预加载关系
  • 对组合结果进行数据库内排序
  • 零第三方依赖

你可以在 Github 上了解更多关于这个包的信息,获得完整的安装说明并查看源代码。这个包的作者还写了一篇博文其中详细介绍了关于使用这个包。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-cross-e...

译文地址:https://learnku.com/laravel/t/61586

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

不错 :+1:

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!