- Laravel-mongodb Version: 8.0.0
- PHP Version: 7.4
- Database Driver & Version: Mongo 4.4 and Mysql 8
Description:
I have 2 tables
Table1 mongo
Table2 mysql
`
$query = Table1::query();
$query->join('Table2', function ($query) {
$query->on("Table2.id", "Table1.ticket_id")
->where("Table2.active", true)
->where(function ($query) {
$query->OrWherenotin('Table2.something', $something);
$query->OrWhere('Table2.something_else', '>=', $somethingelse);
});
});
`
Actual behaviour
Argument 2 passed to Jenssegers\Mongodb\Query\Builder::__construct() must be an instance of Jenssegers\Mongodb\Query\Processor, instance of Jenssegers\Mongodb\Query\Grammar given, called in /app/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php on line 144
Logs:
[2021-05-26 09:30:45] local.ERROR: Argument 2 passed to Jenssegers\Mongodb\Query\Builder::__construct() must be an instance of Jenssegers\Mongodb\Query\Processor, instance of Jenssegers\Mongodb\Query\Grammar given, called in /app/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php on line 144 {"userId":3688,"exception":"[object] (TypeError(code: 0): Argument 2 passed to Jenssegers\\Mongodb\\Query\\Builder::__construct() must be an instance of Jenssegers\\Mongodb\\Query\\Processor, instance of Jenssegers\\Mongodb\\Query\\Grammar given, called in /app/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php on line 144 at /app/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Query/Builder.php:126)
[stacktrace]
#0 /app/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php(144): Jenssegers\\Mongodb\\Query\\Builder->__construct(Object(Jenssegers\\Mongodb\\Connection), Object(Jenssegers\\Mongodb\\Query\\Grammar), Object(Jenssegers\\Mongodb\\Query\\Processor))
#1 /app/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php(122): Illuminate\\Database\\Query\\JoinClause->newParentQuery()
#2 /app/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1487): Illuminate\\Database\\Query\\JoinClause->newQuery()
#3 /app/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1475): Illuminate\\Database\\Query\\Builder->forNestedWhere()
#4 /app/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(700): Illuminate\\Database\\Query\\Builder->whereNested(Object(Closure), 'and')
#5 /app/app/Services/TicketLifeService.php(273): Illuminate\\Database\\Query\\Builder->where(Object(Closure))
#6 /app/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(455): App\\Services\\TicketLifeService->App\\Services\\{closure}(Object(Illuminate\\Database\\Query\\JoinClause))
#7 /app/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Query\\Builder->join('tickets', Object(Closure))
#8 /app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1550): Illuminate\\Database\\Eloquent\\Builder->forwardCallTo(Object(Jenssegers\\Mongodb\\Query\\Builder), 'join', Array)
#9 /app/app/Services/TicketLifeService.php(274): Illuminate\\Database\\Eloquent\\Builder->__call('join', Array)