File tree Expand file tree Collapse file tree 2 files changed +20
-8
lines changed
Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -375,11 +375,28 @@ public static function unsetConnectionContainer(): void
375375 */
376376 public function registerModelScopes (Builder $ query ): Builder
377377 {
378+ $ this ->registerObjectClassScopes ($ query );
379+
378380 $ this ->registerGlobalScopes ($ query );
379381
380382 return $ query ;
381383 }
382384
385+ /**
386+ * Register the object class scopes for this builder instance.
387+ */
388+ public function registerObjectClassScopes (Builder $ query ): Builder
389+ {
390+ if (static ::$ objectClasses ) {
391+ $ query ->withGlobalScope (
392+ Scopes \HasObjectClasses::class,
393+ new Scopes \HasObjectClasses
394+ );
395+ }
396+
397+ return $ query ;
398+ }
399+
383400 /**
384401 * Register the global model scopes.
385402 */
Original file line number Diff line number Diff line change 1010use LdapRecord \Models \Model ;
1111use LdapRecord \Models \ModelNotFoundException ;
1212use LdapRecord \Models \Scope ;
13- use LdapRecord \Models \Scopes \HasObjectClasses ;
1413use LdapRecord \Models \Types \ActiveDirectory ;
1514use LdapRecord \Query \Builder as QueryBuilder ;
1615use LdapRecord \Query \BuildsQueries ;
@@ -473,18 +472,14 @@ public function setModel(Model $model): static
473472 */
474473 public function applyScopes (): static
475474 {
476- $ scopes = $ this ->model ::$ objectClasses ? array_merge ([
477- HasObjectClasses::class => new HasObjectClasses ,
478- ], $ this ->scopes ) : $ this ->scopes ;
479-
480- if (empty ($ scopes )) {
475+ if (empty ($ this ->scopes )) {
481476 return $ this ;
482477 }
483478
484479 // Scopes should not be escapable, so we will wrap the
485480 // application of the scopes within a nested query.
486- $ this ->where (function (self $ query ) use ( $ scopes ) {
487- foreach ($ scopes as $ identifier => $ scope ) {
481+ $ this ->where (function (self $ query ) {
482+ foreach ($ this -> scopes as $ identifier => $ scope ) {
488483 if (isset ($ this ->appliedScopes [$ identifier ])) {
489484 continue ;
490485 }
You can’t perform that action at this time.
0 commit comments