mphpmaster / model-query-selector
Laravel ModelQuerySelector - SQL 列选择实用工具
1.2.2
2024-04-20 11:04 UTC
Requires
- php: >=8.1
- illuminate/support: >=8
- laravel/framework: >=8
- laravel/helpers: ^1.5
README
Laravel ModelQuerySelector 是一个强大的包,旨在简化 Laravel 应用程序中 SQL 选择查询的构建。它提供了一个流畅的接口来构建列选择和表别名,简化了复杂查询的创建。
功能
- 流畅接口:使用流畅且直观的语法轻松构建 SQL 选择查询。
- 列选择:有效地指定查询中要选择的列。
- 表别名:定义表别名以提高查询的可读性和清晰度。
- 动态和静态方法:使用静态和动态方法调用创建查询。
依赖关系
- php >=8.1 在您的项目中必需
- laravel >=8 在您的项目中必需
- illuminate/support >=8 Composer 会自动安装
- laravel/helpers ^1.5 Composer 会自动安装
安装
您可以通过 Composer 安装 Laravel ModelQuerySelector 包。在您的终端中运行以下命令
composer require mphpmaster/model-query-selector
该包将自动注册其服务提供者。
使用方法
辅助函数
您可以使用 mqs
辅助函数创建 ModelQuerySelector
实例
use MPhpMaster\ModelQuerySelector\ModelQuerySelector; // Usage example $querySelector = mqs(User::class, 'u'); dump($querySelector); // Outputs: "users as u"
手动实例化
您还可以如下手动实例化 ModelQuerySelector
use MPhpMaster\ModelQuerySelector\ModelQuerySelector; use App\Models\User; // Static method call to qc() $querySelector = ModelQuerySelector::qc(['column1', 'column2'], User::class); dump($querySelector); // Outputs: "users.column1, users.column2" // Static method call to table() $querySelector = ModelQuerySelector::table(User::class, 'alias'); dump($querySelector); // Outputs: "users as alias" // Dynamic method call to table() $querySelector = new ModelQuerySelector(); $querySelector->table(User::class, 'alias'); dump($querySelector); // Outputs: "users as alias" // Dynamic method call to qc() $querySelector = new ModelQuerySelector(User::class); $querySelector->qc(['column1', 'column2'], 'alias'); dump($querySelector); // Outputs: "alias.column1, alias.column2"
toString
方法
toString
方法返回 ModelQuerySelector
实例的字符串表示形式
use MPhpMaster\ModelQuerySelector\ModelQuerySelector; $querySelector = mqs(User::class, 'u'); echo $querySelector->toString(); // Outputs: "users as u". same as: `echo trim($querySelector);`
许可证
Laravel ModelQuerySelector 包是开源软件,许可证为 MIT 许可。
贡献
欢迎贡献!请随时在 GitHub 上提交错误报告、功能请求或拉取请求。
支持
对于任何问题或问题,请在 GitHub 上 创建一个问题。
致谢
此包由 hlaCk 创建和维护。
感谢
特别感谢 Laravel 社区持续的支持和贡献。