Comments (4)
The Model::selectSub
seems to be not part of the official Laravel documentation. Why don't you just load a relation instead and provide the sub-query there?
from lada-cache.
I had the same issue, here is my error tracing:
Symfony\Component\Debug\Exception\FatalThrowableError: Argument 1 passed to Spiritix\LadaCache\QueryHandler::setBuilder() must be an instance of Spiritix\LadaCache\Database\QueryBuilder, instance of Illuminate\Database\Query\Builder given, called in /www/laravel6/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/Database/QueryBuilder.php on line 99
/www/laravel6/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/QueryHandler.php:80
/www/laravel6/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/Database/QueryBuilder.php:99
/www/laravel6/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
/www/laravel6/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1377
/www/laravel6/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:404
/www/laravel6/app/Http/Controllers/Admin/InviteCodesController.php:18
where on line InviteCodesController.php:18
calls withCount()
https://laravel.com/docs/6.x/eloquent-relationships#counting-related-models
I am using Laravel 6 with lada-cache 4.x. and selectSub
is a part of laravel components https://laravel.com/api/6.x/Illuminate/Database/Query/Builder.html#method_selectSub
However, I noticed from #46 that a similar issue was fixed, so not sure why this still persists.
from lada-cache.
@adarmanto I can't provide support for older Laravel versions anymore, sorry. If anyone can reproduce this with Laravel 8, I'll look into it.
from lada-cache.
Can reproduce with Laravel 9 and php 8.0.6
Using also spatie/laravel-query-builder which is extending the query builder.
{
"message": "Spiritix\\LadaCache\\QueryHandler::setBuilder(): Argument #1 ($builder) must be of type Spiritix\\LadaCache\\Database\\QueryBuilder, Illuminate\\Database\\Query\\Builder given, called in /var/www/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/Database/QueryBuilder.php on line 116",
"exception": "TypeError",
"file": "/var/www/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/QueryHandler.php",
"line": 80,
"trace": [
{
"file": "/var/www/vendor/spiritix/lada-cache/src/Spiritix/LadaCache/Database/QueryBuilder.php",
"line": 116,
"function": "setBuilder",
"class": "Spiritix\\LadaCache\\QueryHandler",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "selectSub",
"class": "Spiritix\\LadaCache\\Database\\QueryBuilder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1838,
"function": "forwardCallTo",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 674,
"function": "__call",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 691,
"function": "withAggregate",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 1418,
"function": "withCount",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 1369,
"function": "newQueryWithoutScopes",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php",
"line": 359,
"function": "newQuery",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "/var/www/app/Eyecolor.php",
"line": 18,
"function": "hasMany",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 848,
"function": "actors",
"class": "App\\Eyecolor",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php",
"line": 104,
"function": "Illuminate\\Database\\Eloquent\\Concerns\\{closure}",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 849,
"function": "noConstraints",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 622,
"function": "getRelationWithoutConstraints",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php",
"line": 691,
"function": "withAggregate",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "withCount",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/var/www/vendor/spatie/laravel-query-builder/src/QueryBuilder.php",
"line": 105,
"function": "forwardCallTo",
"class": "Spatie\\QueryBuilder\\QueryBuilder",
"type": "->"
},
{
"file": "/var/www/app/Http/Controllers/EyecolorController.php",
"line": 63,
"function": "__call",
"class": "Spatie\\QueryBuilder\\QueryBuilder",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
"line": 54,
"function": "index",
"class": "App\\Http\\Controllers\\EyecolorController",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 261,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 204,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 725,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
"line": 44,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 726,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 703,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 667,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 656,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
"line": 66,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
"type": "->"
},
{
"file": "/var/www/vendor/anlutro/l4-settings/src/SaveMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "anlutro\\LaravelSettings\\SaveMiddleware",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/public/index.php",
"line": 56,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/server.php",
"line": 21,
"function": "require_once"
}
]
}
from lada-cache.
Related Issues (20)
- Support for Laravel 8 HOT 2
- PHP 8.0 error call_user_func_array 🐛 HOT 1
- Laravel 6 and lada-cache 4.0.2 problem HOT 3
- Too few arguments HOT 5
- withCount Issue HOT 4
- Spatie permission used with Lada-cache HOT 1
- Use many unions and use paginate errors HOT 1
- Getting lada-cache error HOT 1
- issue with lada-cache
- Question regarding this library HOT 1
- Error when using whereHas with BelongsToMany
- I use 2 website setup lada-cache ( different prefix ) connect one redis. But when I delete one row in one website, redis cache empty. I use version 2.1 HOT 2
- Call to undefined function config_path() HOT 1
- Lada breaks Laravel Telescope HOT 11
- Add support for Lumen HOT 3
- How to load service provider during unit tests? HOT 2
- Class lada.handler does not exist HOT 4
- cleanBindings() must be of the type array, null given, whereHas > whereIn() issue? HOT 4
- Cache not refreshed for relations when using updateOrCreate() HOT 7
- Doesn't work with spatie / laravel-permission HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lada-cache.