laravel-mongodb icon indicating copy to clipboard operation
laravel-mongodb copied to clipboard

MySQL relation error

Open georak opened this issue 3 years ago • 0 comments

  • 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)

georak avatar May 26 '21 09:05 georak