laravel / framework

The Laravel Framework.
https://laravel.com
MIT License
32.41k stars 10.99k forks source link

Property [from] does not exist on the Eloquent builder instance. #34249

Closed Stajor closed 4 years ago

Stajor commented 4 years ago

Description:

On joinSub method get error Property [from] does not exist on the Eloquent builder instance.

{
error: true,
message: "Property [from] does not exist on the Eloquent builder instance.",
file: "/var/www/lumen/vendor/illuminate/database/Eloquent/Builder.php:1379",
trace: [
"#0 /var/www/lumen/vendor/illuminate/database/Query/Builder.php(366): Illuminate\Database\Eloquent\Builder->__get('from')",
"#1 /var/www/lumen/vendor/illuminate/database/Query/Builder.php(342): Illuminate\Database\Query\Builder->prependDatabaseNameIfCrossDatabaseQuery(Object(Illuminate\Database\Eloquent\Builder))",
"#2 /var/www/lumen/vendor/illuminate/database/Query/Builder.php(328): Illuminate\Database\Query\Builder->parseSub(Object(Illuminate\Database\Eloquent\Builder))",
"#3 /var/www/lumen/vendor/illuminate/database/Query/Builder.php(506): Illuminate\Database\Query\Builder->createSub(Object(Illuminate\Database\Eloquent\Builder))",
"#4 /var/www/lumen/vendor/illuminate/support/Traits/ForwardsCalls.php(23): Illuminate\Database\Query\Builder->joinSub(Object(Illuminate\Database\Eloquent\Builder), 'z', 'z.id', '=', 's.zone_id')",
"#5 /var/www/lumen/vendor/illuminate/database/Eloquent/Builder.php(1419): Illuminate\Database\Eloquent\Builder->forwardCallTo(Object(Illuminate\Database\Query\Builder), 'joinSub', Array)",
"#6 /var/www/lumen/app/Services/NetworkStatisticsService.php(185): Illuminate\Database\Eloquent\Builder->__call('joinSub', Array)",
"#7 /var/www/lumen/app/Http/Controllers/NetworkStatisticsController.php(28): App\Services\NetworkStatisticsService->networkByDate(Array)",
"#8 [internal function]: App\Http\Controllers\NetworkStatisticsController->networkByDate(Object(Laravel\Lumen\Http\Request))",
"#9 /var/www/lumen/vendor/illuminate/container/BoundMethod.php(37): call_user_func_array(Array, Array)",
"#10 /var/www/lumen/vendor/illuminate/container/Util.php(40): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()",
"#11 /var/www/lumen/vendor/illuminate/container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))",
"#12 /var/www/lumen/vendor/illuminate/container/BoundMethod.php(39): Illuminate\Container\BoundMethod::callBoundMethod(Object(Laravel\Lumen\Application), Array, Object(Closure))",
"#13 /var/www/lumen/vendor/illuminate/container/Container.php(596): Illuminate\Container\BoundMethod::call(Object(Laravel\Lumen\Application), Array, Array, NULL)",
"#14 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(386): Illuminate\Container\Container->call(Array, Array)",
"#15 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(352): Laravel\Lumen\Application->callControllerCallable(Array, Array)",
"#16 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(326): Laravel\Lumen\Application->callLumenController(Object(App\Http\Controllers\NetworkStatisticsController), 'networkByDate', Array)",
"#17 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(279): Laravel\Lumen\Application->callControllerAction(Array)",
"#18 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(259): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)",
"#19 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(Object(Laravel\Lumen\Http\Request))",
"#20 /var/www/lumen/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(48): call_user_func(Object(Closure), Object(Laravel\Lumen\Http\Request))",
"#21 /var/www/lumen/app/Http/Middleware/GuardMiddleware.php(40): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Laravel\Lumen\Http\Request))",
"#22 /var/www/lumen/vendor/illuminate/pipeline/Pipeline.php(167): App\Http\Middleware\GuardMiddleware->handle(Object(Laravel\Lumen\Http\Request), Object(Closure))",
"#23 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Laravel\Lumen\Http\Request))",
"#24 /var/www/lumen/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(30): call_user_func(Object(Closure), Object(Laravel\Lumen\Http\Request))",
"#25 /var/www/lumen/vendor/illuminate/pipeline/Pipeline.php(103): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Laravel\Lumen\Http\Request))",
"#26 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(423): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"#27 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(260): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))",
"#28 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\Lumen\Application->handleFoundRoute(Array)",
"#29 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(Object(Laravel\Lumen\Http\Request))",
"#30 /var/www/lumen/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(48): call_user_func(Object(Closure), Object(Laravel\Lumen\Http\Request))",
"#31 /var/www/lumen/app/Http/Middleware/CorsMiddleware.php(74): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Laravel\Lumen\Http\Request))",
"#32 /var/www/lumen/vendor/illuminate/pipeline/Pipeline.php(167): App\Http\Middleware\CorsMiddleware->handle(Object(Laravel\Lumen\Http\Request), Object(Closure))",
"#33 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Laravel\Lumen\Http\Request))",
"#34 /var/www/lumen/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(30): call_user_func(Object(Closure), Object(Laravel\Lumen\Http\Request))",
"#35 /var/www/lumen/vendor/illuminate/pipeline/Pipeline.php(103): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Laravel\Lumen\Http\Request))",
"#36 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(423): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"#37 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(172): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))",
"#38 /var/www/lumen/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(109): Laravel\Lumen\Application->dispatch(NULL)",
"#39 /var/www/lumen/public/index.php(28): Laravel\Lumen\Application->run()",
"#40 {main}"
]
}

Steps To Reproduce:

run code

     $queryStats = MyModel::query()
            ->select([some columns])
            ->from('some table as s')
            ->joinSub($zonesQuery,'z', 'z.id', '=', 's.zone_id')
            ->whereBetween('s.date', [$dateFrom, $dateTo])
            ->groupBy(['s.date']);
driesvints commented 4 years ago

Hey there,

Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to report back and I'll gladly help you out and re-open this issue.

Thanks!