Laravel ModelQuerySelector is a powerful package designed to simplify the construction of SQL select queries in Laravel applications. It offers a fluent interface for building column selections and table aliases, streamlining the creation of complex queries.
- Fluent Interface: Easily construct SQL select queries using a fluent and intuitive syntax.
- Column Selections: Efficiently specify columns to be selected in the query.
- Table Aliases: Define table aliases for improved query readability and clarity.
- Dynamic and Static Methods: Use both static and dynamic method calls to create queries.
- php >=8.1 REQUIRED IN YOUR PROJECT
- laravel >=8 REQUIRED IN YOUR PROJECT
- illuminate/support >=8 composer will install it automaticly
- laravel/helpers ^1.5 composer will install it automaticly
You can install the Laravel ModelQuerySelector package via Composer. Run the following command in your terminal:
composer require mphpmaster/model-query-selector
The package will automatically register its service provider.
You can use the mqs
helper function to create an instance of ModelQuerySelector
:
use MPhpMaster\ModelQuerySelector\ModelQuerySelector;
// Usage example
$querySelector = mqs(User::class, 'u');
dump($querySelector); // Outputs: "users as u"
You can also manually instantiate ModelQuerySelector
as follows:
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"
The toString
method returns the string representation of the ModelQuerySelector
instance:
use MPhpMaster\ModelQuerySelector\ModelQuerySelector;
$querySelector = mqs(User::class, 'u');
echo $querySelector->toString(); // Outputs: "users as u". same as: `echo trim($querySelector);`
The Laravel ModelQuerySelector package is open-source software licensed under the MIT license.
Contributions are welcome! Feel free to submit bug reports, feature requests, or pull requests on GitHub.
For any questions or issues, please open an issue on GitHub.
This package was created and is maintained by hlaCk.
Special thanks to the Laravel community for their continued support and contributions.