czbas23 / laravel-query-client
v0.0.11
2019-06-04 13:00 UTC
Requires
- php: >=7.0
- illuminate/database: 5.5.x|5.6.x|5.7.x|5.8.x
- illuminate/support: 5.5.x|5.6.x|5.7.x|5.8.x
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2025-03-05 01:08:21 UTC
README
Require this package in your composer.json and update composer.
composer require czbas23/laravel-query-client
Installation
Laravel 5.x:
In Laravel 5.5 or more than the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php file:
Czbas23\LaravelQueryClient\Providers\LaravelQueryClientProvider::class,
You can optionally use the facade for shorter code. Add this to your facades:
'LaravelQueryClient' => Czbas23\LaravelQueryClient\Facades\LaravelQueryClientFacade::class,
Using
Basic for use
$User = \LaravelQueryClient::setModel(new \App\User)
->setCrud('read')
->query([
['where', ['id', 1]],
['where', [
['orWhere', ['name', 'like', '%Foo%']],
['orWhere', ['name', 'like', '%Bar%']]
]],
['get']
])
->getResult();
Equals
$User = \App\User::where('id', 1)
->where(function ($query) {
$query->orWhere('name', 'like', '%Foo%');
$query->orWhere('name', 'like', '%Bar%');
})
->get();
Query with relationship
$countUser = \LaravelQueryClient::setModel(new \App\User)
->setCrud('read')
->pushRelation('posts')
->query([
['has', ['posts']],
['count']
])
->getResult();
Equals
$countUser = \App\User::has('posts')->count();
Insert data
$result = \LaravelQueryClient::setModel(new \App\User)
->setCrud('create')
->query([
['create', [
[
'name' => 'Foo Bar',
'email' => 'example@mail.com',
'password' => bcrypt('secret'),
]
]],
])
->getResult();
Equals
$result = \App\User::create([
'name' => 'Foo Bar',
'email' => 'example@mail.com',
'password' => bcrypt('secret'),
]);
License
This Laravel query client is open-sourced software licensed under the MIT license