mayankjaviya / lara-finder
此包的最新版本(1.0.0)没有可用的许可证信息。
简化数据库中记录的搜索过程
1.0.0
2024-03-13 16:32 UTC
This package is auto-updated.
Last update: 2024-09-14 18:26:22 UTC
README
LaraFinder是一个Laravel包,旨在简化从数据库中搜索数据的流程。它提供了方便的方法来搜索指定列或给定模型的所有列。
安装
您可以通过Composer安装LaraFinder。在终端中运行以下命令
composer require mayankjaviya/lara-finder
用法
use mayankjaviya\LaraFinder\LaraFinder; // Search for a value in specific columns $results = LaraFinder::search('App\Models\User', 'John', ['name', 'email']); // Search for a value across all columns $results = LaraFinder::searchAll('App\Models\User', 'John'); // Search for a value across all columns except specified ones $results = LaraFinder::searchAllExcept('App\Models\User', 'John', ['password']); // It returns an associative array where each key represents a column name and the corresponding value is a collection of search results. $results = LaraFinder::searchableColumns('App\Models\User', 'John', ['name', 'email']); // Search for a value across multiple models $models = ['App\Models\User', 'App\Models\Post']; $results = LaraFinder::searchInMultipleModel($models, 'John'); // Search for a value within a related model $results = LaraFinder::searchWithRelation('App\Models\User', 'John', 'App\Models\Post');
方法
search($model, $value, $columns)
- 描述:在给定模型的指定列中搜索值。
- 参数:
$model:要搜索的模型的完全限定类名。$value:要搜索的值。$columns:要搜索的列名数组。
- 返回值:搜索结果集合。
searchAll($model, $value)
- 描述:在给定模型的所有列中搜索值。
- 参数:
$model:要搜索的模型的完全限定类名。$value:要搜索的值。
- 返回值:搜索结果集合。
searchAllExcept($model, $value, $except)
- 描述:在给定模型的所有列中搜索值,除了指定的列。
- 参数:
$model:要搜索的模型的完全限定类名。$value:要搜索的值。$except:要排除的列名数组。
- 返回值:搜索结果集合。
searchableColumns($model, $value, $columns = [])
- 描述:在给定模型的指定列中搜索值,如果未指定任何列,则在所有列中搜索。
- 参数:
$model:要搜索的模型的完全限定类名。$value:要搜索的值。$columns:(可选) 要搜索的列名数组。如果未提供,则搜索模型的所有列。
- 返回值:一个关联数组,其中每个键代表列名,对应的值是搜索结果集合。
searchInMultipleModel($models, $value)
- 描述:允许在多个模型中搜索特定的值。它遍历提供的
$models数组中的每个模型,并在指定的列中搜索值。 - 参数:
$models:要搜索的模型类名数组。$value:要搜索的值。
- 返回值:一个关联数组,其中每个键代表模型类名,对应的值是应用了搜索条件的查询构建器实例。
searchWithRelation($model, $value, $relation)
- 描述:允许在关联模型中搜索值,同时考虑主模型属性。它使用预加载来加载关联模型,并在主模型及其关联模型中执行搜索。
- 参数:
$model:要搜索的主模型类名。$value:要搜索的值。$relation:要搜索的关联模型类名。
- 返回值:主模型(
$model)的实例集合,其中加载了关联模型,并且满足搜索条件。
参数
$model:要搜索的模型的完全限定类名。$value:要搜索的值。$columns:(可选) 要搜索的列名数组。如果未提供,则搜索模型的所有列。$except:(可选) 要排除的列名数组。
贡献
欢迎贡献!请随时提交拉取请求或打开问题。
许可证
此包是开源软件,根据MIT许可证授权。