Closed
Description
Describe the bug
When applying scopes, if there is a join it is applied twice.
Eloquent Query
Please provide the complete eloquent query that caused the bug, for example:
// Order is a model with trait Cachable;
Order::with(Order::$RELATIONS[$relations])
->selectAll() // this is a scope that just selects all columns, it is not applied twice
->withCompany() //the join here is applied twice
->withGlobalScope('with_created_user', new ScopeWithCreatedUser) // the join here is also applied twice
->simplePaginate();
Stack Trace
The stacktrace below was generated with a dd()
inside Illuminate\Database\Query\Builder::join()
only on the second time the function is fired for the same table. I confirmed that the scope is not being applied twice in the scope's handler using the same method. It is also in reverse order so the last line is the most recent function call.
24 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "App\Http\Middleware\FrameOptions"
"object" => App\Http\Middleware\FrameOptions^ {#1202}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1176}
]
]
25 => array:7 [
"file" => "/home/myproject/app/Http/Middleware/FrameOptions.php"
"line" => 19
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Pipeline\Pipeline^ {#1182}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
26 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "App\Http\Middleware\Timezone"
"object" => App\Http\Middleware\Timezone^ {#1197}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1180}
]
]
27 => array:7 [
"file" => "/home/myproject/app/Http/Middleware/Timezone.php"
"line" => 29
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Pipeline\Pipeline^ {#1182}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
28 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 128
"function" => "Dingo\Api\Http\Middleware\{closure}"
"class" => "Dingo\Api\Http\Middleware\Request"
"object" => Dingo\Api\Http\Middleware\Request^ {#198}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
29 => array:7 [
"file" => "/home/myproject/vendor/dingo/api/src/Http/Middleware/Request.php"
"line" => 126
"function" => "dispatch"
"class" => "Dingo\Api\Routing\Router"
"object" => Dingo\Api\Routing\Router^ {#202}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
30 => array:7 [
"file" => "/home/myproject/vendor/dingo/api/src/Routing/Router.php"
"line" => 514
"function" => "dispatch"
"class" => "Dingo\Api\Routing\Adapter\Laravel"
"object" => Dingo\Api\Routing\Adapter\Laravel^ {#195}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => "v1"
]
]
31 => array:7 [
"file" => "/home/myproject/vendor/dingo/api/src/Routing/Adapter/Laravel.php"
"line" => 88
"function" => "dispatch"
"class" => "Illuminate\Routing\Router"
"object" => Illuminate\Routing\Router^ {#1199}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
32 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Router.php"
"line" => 612
"function" => "dispatchToRoute"
"class" => "Illuminate\Routing\Router"
"object" => Illuminate\Routing\Router^ {#1199}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
33 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Router.php"
"line" => 623
"function" => "runRoute"
"class" => "Illuminate\Routing\Router"
"object" => Illuminate\Routing\Router^ {#1199}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Illuminate\Routing\Route^ {#937}
]
]
34 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Router.php"
"line" => 657
"function" => "runRouteWithinStack"
"class" => "Illuminate\Routing\Router"
"object" => Illuminate\Routing\Router^ {#1199}
"type" => "->"
"args" => array:2 [
0 => Illuminate\Routing\Route^ {#937}
1 => Dingo\Api\Http\Request^ {#1173}
]
]
35 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Router.php"
"line" => 682
"function" => "then"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206
#container: Illuminate\Foundation\Application^ {#4}
#passable: Dingo\Api\Http\Request^ {#1173}
#pipes: array:5 [
0 => "Dingo\Api\Http\Middleware\PrepareController"
1 => "Tymon\JWTAuth\Http\Middleware\Authenticate"
2 => "App\Http\Middleware\SentryContext"
3 => "App\Http\Middleware\UserIsActive"
4 => "Illuminate\Routing\Middleware\SubstituteBindings"
]
#method: "handle"
}
"type" => "->"
"args" => array:1 [
0 => Closure($request)^ {#1203
class: "Illuminate\Routing\Router"
this: Illuminate\Routing\Router^ {#1199}
use: { …1}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Router.php"
line: "678 to 682"
}
]
]
36 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 104
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
37 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 53
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
38 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "Dingo\Api\Http\Middleware\PrepareController"
"object" => Dingo\Api\Http\Middleware\PrepareController^ {#1281}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1278
class: "Illuminate\Routing\Pipeline"
this: Illuminate\Routing\Pipeline^ {#1206}
use: { …2}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
line: "47 to 59"
}
]
]
39 => array:7 [
"file" => "/home/myproject/vendor/dingo/api/src/Http/Middleware/PrepareController.php"
"line" => 45
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
40 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 53
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
41 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "Tymon\JWTAuth\Http\Middleware\Authenticate"
"object" => Tymon\JWTAuth\Http\Middleware\Authenticate^ {#1336
#auth: Tymon\JWTAuth\JWTAuth^ {#1289}
}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1277
class: "Illuminate\Routing\Pipeline"
this: Illuminate\Routing\Pipeline^ {#1206}
use: { …2}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
line: "47 to 59"
}
]
]
42 => array:7 [
"file" => "/home/myproject/vendor/tymon/jwt-auth/src/Http/Middleware/Authenticate.php"
"line" => 32
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
43 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 53
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
44 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "App\Http\Middleware\SentryContext"
"object" => App\Http\Middleware\SentryContext^ {#1342}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1276
class: "Illuminate\Routing\Pipeline"
this: Illuminate\Routing\Pipeline^ {#1206}
use: { …2}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
line: "47 to 59"
}
]
]
45 => array:7 [
"file" => "/home/myproject/app/Http/Middleware/SentryContext.php"
"line" => 38
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
46 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 53
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
47 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "App\Http\Middleware\UserIsActive"
"object" => App\Http\Middleware\UserIsActive^ {#1337}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1275
class: "Illuminate\Routing\Pipeline"
this: Illuminate\Routing\Pipeline^ {#1206}
use: { …2}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
line: "47 to 59"
}
]
]
48 => array:7 [
"file" => "/home/myproject/app/Http/Middleware/UserIsActive.php"
"line" => 49
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
49 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 53
"function" => "Illuminate\Pipeline\{closure}"
"class" => "Illuminate\Pipeline\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
50 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
"line" => 163
"function" => "handle"
"class" => "Illuminate\Routing\Middleware\SubstituteBindings"
"object" => Illuminate\Routing\Middleware\SubstituteBindings^ {#1348
#router: Illuminate\Routing\Router^ {#27}
}
"type" => "->"
"args" => array:2 [
0 => Dingo\Api\Http\Request^ {#1173}
1 => Closure($passable)^ {#1212
class: "Illuminate\Routing\Pipeline"
this: Illuminate\Routing\Pipeline^ {#1206}
use: { …1}
file: "./vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
line: "28 to 36"
}
]
]
51 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php"
"line" => 41
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Pipeline"
"object" => Illuminate\Routing\Pipeline^ {#1206}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
52 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php"
"line" => 30
"function" => "Illuminate\Routing\{closure}"
"class" => "Illuminate\Routing\Router"
"object" => Illuminate\Routing\Router^ {#1199}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
53 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Router.php"
"line" => 680
"function" => "run"
"class" => "Illuminate\Routing\Route"
"object" => Illuminate\Routing\Route^ {#937}
"type" => "->"
"args" => []
]
54 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Route.php"
"line" => 176
"function" => "runController"
"class" => "Illuminate\Routing\Route"
"object" => Illuminate\Routing\Route^ {#937}
"type" => "->"
"args" => []
]
55 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Route.php"
"line" => 219
"function" => "dispatch"
"class" => "Illuminate\Routing\ControllerDispatcher"
"object" => Illuminate\Routing\ControllerDispatcher^ {#22}
"type" => "->"
"args" => array:3 [
0 => Illuminate\Routing\Route^ {#937}
1 => App\Api\Controllers\OrderController^ {#1207}
2 => "index"
]
]
56 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php"
"line" => 45
"function" => "callAction"
"class" => "Illuminate\Routing\Controller"
"object" => App\Api\Controllers\OrderController^ {#1207}
"type" => "->"
"args" => array:2 [
0 => "index"
1 => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
]
57 => array:4 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Routing/Controller.php"
"line" => 54
"function" => "call_user_func_array"
"args" => array:2 [
0 => array:2 [
0 => App\Api\Controllers\OrderController^ {#1207}
1 => "index"
]
1 => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
]
58 => array:5 [
"function" => "index"
"class" => "App\Api\Controllers\OrderController"
"object" => App\Api\Controllers\OrderController^ {#1207}
"type" => "->"
"args" => array:1 [
0 => Dingo\Api\Http\Request^ {#1173}
]
]
59 => array:7 [
"file" => "/home/myproject/app/Api/Controllers/OrderController.php"
"line" => 111
"function" => "simplePaginate"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361
#query: Illuminate\Database\Query\Builder^ {#1360
+connection: Illuminate\Database\MySqlConnection^ {#278
#pdo: Doctrine\DBAL\Driver\PDOConnection^ {#1357 …2}
#readPdo: null
#database: "ac09n332_dev"
#tablePrefix: ""
#config: array:13 [ …13]
#reconnector: Closure($connection)^ {#39 …4}
#queryGrammar: Illuminate\Database\Query\Grammars\MySqlGrammar^ {#279
#operators: array:1 [ …1]
#selectComponents: array:11 [ …11]
#tablePrefix: ""
}
#schemaGrammar: Illuminate\Database\Schema\Grammars\MySqlGrammar^ {#272 …5}
#postProcessor: Illuminate\Database\Query\Processors\MySqlProcessor^ {#280}
#events: Illuminate\Events\Dispatcher^ {#28}
#fetchMode: 5
#transactions: 0
#recordsModified: true
#queryLog: array:2 [ …2]
#loggingQueries: true
#pretending: false
#doctrineConnection: null
}
+grammar: Illuminate\Database\Query\Grammars\MySqlGrammar^ {#279}
+processor: Illuminate\Database\Query\Processors\MySqlProcessor^ {#280}
+bindings: array:7 [ …7]
+aggregate: null
+columns: array:7 [ …7]
+distinct: false
+from: "orders"
+joins: array:2 [ …2]
+wheres: array:3 [ …3]
+groups: array:1 [ …1]
+havings: null
+orders: array:2 [ …2]
+limit: 11
+offset: 40
+unions: null
+unionLimit: null
+unionOffset: null
+unionOrders: null
+lock: null
+operators: array:30 [ …30]
+useWritePdo: false
}
#model: App\Order^ {#1367
#table: "orders"
#fillable: array:13 [ …13]
#dates: array:5 [ …5]
#appends: array:1 [ …1]
#hidden: array:1 [ …1]
#casts: array:2 [ …2]
#connection: null
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: false
+wasRecentlyCreated: false
#attributes: []
#original: []
#changes: []
#dateFormat: null
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#visible: []
#guarded: array:1 [ …1]
#isCachable: true
#scopesAreApplied: false
#macroKey: ""
#forceDeleting: false
}
#eagerLoad: []
#localMacros: array:4 [
"restore" => Closure(Builder $builder)^ {#1366 …4}
"withTrashed" => Closure(Builder $builder, $withTrashed = true)^ {#1365 …4}
"withoutTrashed" => Closure(Builder $builder)^ {#1362 …4}
"onlyTrashed" => Closure(Builder $builder)^ {#1346 …4}
]
#onDelete: Closure(Builder $builder)^ {#271
class: "Illuminate\Database\Eloquent\SoftDeletingScope"
this: Illuminate\Database\Eloquent\SoftDeletingScope {#411}
file: "./vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php"
line: "38 to 44"
}
#passthru: array:17 [
0 => "insert"
1 => "insertOrIgnore"
2 => "insertGetId"
3 => "insertUsing"
4 => "getBindings"
5 => "toSql"
6 => "dump"
7 => "dd"
8 => "exists"
9 => "doesntExist"
10 => "count"
11 => "min"
12 => "max"
13 => "avg"
14 => "average"
15 => "sum"
16 => "getConnection"
]
#scopes: array:7 [
"Illuminate\Database\Eloquent\SoftDeletingScope" => Illuminate\Database\Eloquent\SoftDeletingScope {#411}
"Scopes\RecentScope" => Scopes\RecentScope^ {#412}
"Scopes\RestrictByCompany" => Scopes\RestrictByCompany^ {#413}
"with_created_user" => Scopes\ScopeWithCreatedUser^ {#1358}
"with_contact" => Scopes\ScopeWithContact^ {#1368}
"restrict_drafts_and_cart" => Scopes\RestrictDraftsAndCart^ {#1378}
"comment_count" => Scopes\ScopeWithCommentCount^ {#1371}
]
#removedScopes: []
#isCachable: true
#scopesAreApplied: true
#macroKey: ""
}
"type" => "->"
"args" => array:4 [
0 => "10"
1 => array:1 [
0 => "*"
]
2 => "page"
3 => "5"
]
]
60 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 780
"function" => "get"
"class" => "GeneaLabs\LaravelModelCaching\CachedBuilder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => array:1 [
0 => array:1 [
0 => "*"
]
]
]
61 => array:7 [
"file" => "/home/myproject/vendor/genealabs/laravel-model-caching/src/Traits/Buildable.php"
"line" => 97
"function" => "cachedValue"
"class" => "GeneaLabs\LaravelModelCaching\CachedBuilder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => array:2 [
0 => array:1 [
0 => array:1 [ …1]
]
1 => "genealabs:laravel-model-caching:mysql:ac09n332_dev:orders:apporder_orders.*_(select companies.name as company_name from `companies` where `companies`.`id` = orders.company_id) as `company_name`_(select count(distinct permits.carrier_id) from `permits` where `permits`.`order_id` = orders.id and `permits`.`deleted_at` is null) as `carrier_count`_concat(coalesce(cu.first_name, ""), " ", coalesce(cu.last_name, "")) as created_by_name_(select CONCAT(COALESCE(users.first_name, ""), " ", COALESCE(users.last_name, "")) as contact_name from `users` where `users`.`id` = orders.contact_id) as `contact_name`_count(distinct comments.id) as comment_count_(select count(distinct comments.id) as important where comments.important = 1 limit 1) as important-orders.deleted_at_null-orders.company_id_=_88-nested-nested-orders.status_id_in_draft_in_cart_staff_cart-(select users.account_type_id from users where users.id = orders.created_by)_in_customer_customer_admin-orders.status_id_notin_draft_in_cart_staff_cart_orderBy_created_at_desc_orderBy_orders.id_desc-offset_40-limit_11"
]
]
62 => array:7 [
"file" => "/home/myproject/vendor/genealabs/laravel-model-caching/src/Traits/Buildable.php"
"line" => 231
"function" => "retrieveCachedValue"
"class" => "GeneaLabs\LaravelModelCaching\CachedBuilder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => array:5 [
0 => array:1 [
0 => array:1 [ …1]
]
1 => "genealabs:laravel-model-caching:mysql:ac09n332_dev:orders:apporder_orders.*_(select companies.name as company_name from `companies` where `companies`.`id` = orders.company_id) as `company_name`_(select count(distinct permits.carrier_id) from `permits` where `permits`.`order_id` = orders.id and `permits`.`deleted_at` is null) as `carrier_count`_concat(coalesce(cu.first_name, ""), " ", coalesce(cu.last_name, "")) as created_by_name_(select CONCAT(COALESCE(users.first_name, ""), " ", COALESCE(users.last_name, "")) as contact_name from `users` where `users`.`id` = orders.contact_id) as `contact_name`_count(distinct comments.id) as comment_count_(select count(distinct comments.id) as important where comments.important = 1 limit 1) as important-orders.deleted_at_null-orders.company_id_=_88-nested-nested-orders.status_id_in_draft_in_cart_staff_cart-(select users.account_type_id from users where users.id = orders.created_by)_in_customer_customer_admin-orders.status_id_notin_draft_in_cart_staff_cart_orderBy_created_at_desc_orderBy_orders.id_desc-offset_40-limit_11"
2 => array:1 [
0 => "genealabs:laravel-model-caching:mysql:ac09n332_dev:apporder"
]
3 => "156b3d1b45e0bd52136f854e979128d4aaa4ce66"
4 => "get"
]
]
63 => array:7 [
"file" => "/home/myproject/vendor/genealabs/laravel-model-caching/src/Traits/Buildable.php"
"line" => 292
"function" => "rememberForever"
"class" => "Illuminate\Cache\Repository"
"object" => Illuminate\Cache\RedisTaggedCache^ {#1374
#tags: Illuminate\Cache\TagSet^ {#1390
#store: Illuminate\Cache\RedisStore^ {#1312
#redis: Illuminate\Redis\RedisManager^ {#1311 …6}
#prefix: "laravel:"
#connection: "default"
}
#names: array:1 [ …1]
}
#store: Illuminate\Cache\RedisStore^ {#1312}
#events: Illuminate\Events\Dispatcher^ {#28}
#default: 3600
}
"type" => "->"
"args" => array:2 [
0 => "156b3d1b45e0bd52136f854e979128d4aaa4ce66"
1 => Closure()^ {#1392
class: "GeneaLabs\LaravelModelCaching\CachedBuilder"
this: GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
use: { …3}
file: "./vendor/genealabs/laravel-model-caching/src/Traits/Buildable.php"
line: "287 to 292"
}
]
]
64 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Cache/Repository.php"
"line" => 418
"function" => "GeneaLabs\LaravelModelCaching\Traits\{closure}"
"class" => "GeneaLabs\LaravelModelCaching\CachedBuilder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => []
]
65 => array:7 [
"file" => "/home/myproject/vendor/genealabs/laravel-model-caching/src/Traits/Buildable.php"
"line" => 290
"function" => "get"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => array:1 [
0 => array:1 [
0 => "*"
]
]
]
66 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 500
"function" => "applyScopes"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => []
]
67 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 983
"function" => "callScope"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391
#query: Illuminate\Database\Query\Builder^ {#1393
+connection: Illuminate\Database\MySqlConnection^ {#278}
+grammar: Illuminate\Database\Query\Grammars\MySqlGrammar^ {#279}
+processor: Illuminate\Database\Query\Processors\MySqlProcessor^ {#280}
+bindings: array:7 [
"select" => []
"from" => []
"join" => []
"where" => array:10 [ …10]
"having" => []
"order" => []
"union" => []
]
+aggregate: null
+columns: array:7 [
0 => "orders.*"
1 => Illuminate\Database\Query\Expression^ {#1369 …1}
2 => Illuminate\Database\Query\Expression^ {#1372 …1}
3 => Illuminate\Database\Query\Expression^ {#1377 …1}
4 => Illuminate\Database\Query\Expression^ {#1376 …1}
5 => Illuminate\Database\Query\Expression^ {#1387 …1}
6 => Illuminate\Database\Query\Expression^ {#1389 …1}
]
+distinct: false
+from: "orders"
+joins: array:2 [
0 => Illuminate\Database\Query\JoinClause^ {#1381 …28}
1 => Illuminate\Database\Query\JoinClause^ {#1386 …28}
]
+wheres: array:5 [
0 => array:3 [ …3]
1 => array:5 [ …5]
2 => array:3 [ …3]
3 => array:3 [ …3]
4 => array:5 [ …5]
]
+groups: array:1 [
0 => "orders.id"
]
+havings: null
+orders: array:3 [
0 => array:2 [ …2]
1 => array:2 [ …2]
2 => array:2 [ …2]
]
+limit: 11
+offset: 40
+unions: null
+unionLimit: null
+unionOffset: null
+unionOrders: null
+lock: null
+operators: array:30 [
0 => "="
1 => "<"
2 => ">"
3 => "<="
4 => ">="
5 => "<>"
6 => "!="
7 => "<=>"
8 => "like"
9 => "like binary"
10 => "not like"
11 => "ilike"
12 => "&"
13 => "|"
14 => "^"
15 => "<<"
16 => ">>"
17 => "rlike"
18 => "not rlike"
19 => "regexp"
20 => "not regexp"
21 => "~"
22 => "~*"
23 => "!~"
24 => "!~*"
25 => "similar to"
26 => "not similar to"
27 => "not ilike"
28 => "~~*"
29 => "!~~*"
]
+useWritePdo: false
}
#model: App\Order^ {#1367}
#eagerLoad: []
#localMacros: array:4 [
"restore" => Closure(Builder $builder)^ {#1366 …4}
"withTrashed" => Closure(Builder $builder, $withTrashed = true)^ {#1365 …4}
"withoutTrashed" => Closure(Builder $builder)^ {#1362 …4}
"onlyTrashed" => Closure(Builder $builder)^ {#1346 …4}
]
#onDelete: Closure(Builder $builder)^ {#271}
#passthru: array:17 [
0 => "insert"
1 => "insertOrIgnore"
2 => "insertGetId"
3 => "insertUsing"
4 => "getBindings"
5 => "toSql"
6 => "dump"
7 => "dd"
8 => "exists"
9 => "doesntExist"
10 => "count"
11 => "min"
12 => "max"
13 => "avg"
14 => "average"
15 => "sum"
16 => "getConnection"
]
#scopes: array:7 [
"Illuminate\Database\Eloquent\SoftDeletingScope" => Illuminate\Database\Eloquent\SoftDeletingScope {#411}
"Scopes\RecentScope" => Scopes\RecentScope^ {#412}
"Scopes\RestrictByCompany" => Scopes\RestrictByCompany^ {#413}
"with_created_user" => Scopes\ScopeWithCreatedUser^ {#1358}
"with_contact" => Scopes\ScopeWithContact^ {#1368}
"restrict_drafts_and_cart" => Scopes\RestrictDraftsAndCart^ {#1378}
"comment_count" => Scopes\ScopeWithCommentCount^ {#1371}
]
#removedScopes: []
#isCachable: true
#scopesAreApplied: true
#macroKey: ""
}
"type" => "->"
"args" => array:1 [
0 => Closure(self $builder)^ {#1394
class: "Illuminate\Database\Eloquent\Builder"
this: GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
use: { …1}
file: "./vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
line: "969 to 983"
}
]
]
68 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 1008
"function" => "Illuminate\Database\Eloquent\{closure}"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1361}
"type" => "->"
"args" => array:1 [
0 => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391}
]
]
69 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 981
"function" => "apply"
"class" => "Scopes\ScopeWithCreatedUser"
"object" => Scopes\ScopeWithCreatedUser^ {#1358}
"type" => "->"
"args" => array:2 [
0 => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391}
1 => App\Order^ {#1367}
]
]
70 => array:7 [
"file" => "/home/myproject/app/Scopes/ScopeWithCreatedUser.php"
"line" => 15
"function" => "__call"
"class" => "GeneaLabs\LaravelModelCaching\CachedBuilder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391}
"type" => "->"
"args" => array:2 [
0 => "join"
1 => array:4 [
0 => Illuminate\Database\Query\Expression^ {#1395
#value: "users cu"
}
1 => "cu.id"
2 => "="
3 => "orders.created_by"
]
]
]
71 => array:7 [
"file" => "/home/myproject/vendor/genealabs/laravel-model-caching/src/Traits/Caching.php"
"line" => 22
"function" => "__call"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391}
"type" => "->"
"args" => array:2 [
0 => "join"
1 => array:4 [
0 => Illuminate\Database\Query\Expression^ {#1395}
1 => "cu.id"
2 => "="
3 => "orders.created_by"
]
]
]
72 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php"
"line" => 1356
"function" => "forwardCallTo"
"class" => "Illuminate\Database\Eloquent\Builder"
"object" => GeneaLabs\LaravelModelCaching\CachedBuilder^ {#1391}
"type" => "->"
"args" => array:3 [
0 => Illuminate\Database\Query\Builder^ {#1393}
1 => "join"
2 => array:4 [
0 => Illuminate\Database\Query\Expression^ {#1395}
1 => "cu.id"
2 => "="
3 => "orders.created_by"
]
]
]
73 => array:7 [
"file" => "/home/myproject/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php"
"line" => 23
"function" => "join"
"class" => "Illuminate\Database\Query\Builder"
"object" => Illuminate\Database\Query\Builder^ {#1393}
"type" => "->"
"args" => array:4 [
0 => Illuminate\Database\Query\Expression^ {#1395}
1 => "cu.id"
2 => "="
3 => "orders.created_by"
]
]
]
Environment
- PHP: 7.2
- OS: Ubuntu 19.04
- Laravel: 5.8.35
- Model Caching: 0.7.0