扩展推荐: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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

不错 :+1:

2年前 评论

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