File tree Expand file tree Collapse file tree 2 files changed +26
-2
lines changed
Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -155,7 +155,17 @@ private function findModel(ClassReflection $calledOnReflection): string|null
155155 $ calledOnReflection ->getName () === EloquentBuilder::class ||
156156 $ calledOnReflection ->isSubclassOf (EloquentBuilder::class)
157157 ) {
158- $ modelType = $ calledOnReflection ->getActiveTemplateTypeMap ()->getType ('TModelClass ' );
158+ if ($ calledOnReflection ->isGeneric ()) {
159+ $ modelType = $ calledOnReflection ->getActiveTemplateTypeMap ()->getType ('TModelClass ' ) ??
160+ $ calledOnReflection ->getActiveTemplateTypeMap ()->getType ('TModel ' );
161+ } elseif ($ calledOnReflection ->getParentClass () !== null ) {
162+ $ parent = $ calledOnReflection ->getParentClass ();
163+
164+ $ modelType = $ parent ->getActiveTemplateTypeMap ()->getType ('TModelClass ' ) ??
165+ $ parent ->getActiveTemplateTypeMap ()->getType ('TModel ' );
166+ } else {
167+ $ modelType = null ;
168+ }
159169
160170 if (! $ modelType instanceof ObjectType) {
161171 return null ;
Original file line number Diff line number Diff line change @@ -143,14 +143,28 @@ public function hasActiveActions(): bool
143143 return $ this ->actions ()->whereIsActive ()->exists ();
144144 }
145145
146- // return $this->actions()->whereActive()->exists();
146+ return $ this ->actions ()->whereActive ()->exists ();
147147 }
148148}
149149
150150class AccountAction extends Model
151151{
152+ /**
153+ * @param Builder<AccountAction> $query
154+ *
155+ * @return Builder<AccountAction>
156+ */
152157 public function scopeWhereActive (Builder $ query ): Builder
153158 {
154159 return $ query ->where ('is_active ' , true );
155160 }
156161}
162+
163+ /** @extends Builder<AccountAction> */
164+ class SomeBuilder extends Builder
165+ {
166+ public function doFoo (): void
167+ {
168+ $ this ->whereActive ();
169+ }
170+ }
You can’t perform that action at this time.
0 commit comments