protected $isScopedToTenant not available when extending from package Resource Class

I cannot change the $isScopedToTenant variable when i use the following setup:

Package has an Resource called:
class ScheduleResource extends Resource {}

in my application i override/extend this ScheduleResource:
use Package\Resource\ScheduleResource as BaseScheduleResource;

class ScheduleResource extends BaseScheduleResource {

    protected static bool $isScopedToTenant = false; // <-- will not work
}

i have to add in my package Resource class:
class ScheduleResource extends Resource {
   public static bool $isScopedToTenant = true;
}

and then in my application ScheduleResource:

use Package\Resource\ScheduleResource as BaseScheduleResource;

class ScheduleResource extends BaseScheduleResource {
    public static bool $isScopedToTenant = false; // <-- this WILL work
}


also this won't work:

class ScheduleResource extends BaseScheduleResource {
  
   public function __construct() {
      static::scopeToTenant(false); <-- will not work
   }
}
Solution
Okay i found the answer:

I have to override this function in my class ScheduleResourse like so:

class ScheduleResource extends BaseScheduleResource {

   public function __construct() {
     self::scopeToTenant(false);
   }

   public static function scopeToTenant(bool $condition = true): void
    {
        parent::$isScopedToTenant = $condition;
    }
}
Was this page helpful?