If you create a property in the Resource class to reuse it in methods, make it STATIC.
Both form() and table() methods are static, so if you use something like $this->options, it will throw an error.
Create a static property and then use it as self::$options
class ProductResource extends Resource{ protected array $options; protected static array $staticOptions; public static function form(Form $form): Form { $options = $this->options; // will throw error $options = self::$staticOptions; // this will works } public static function table(Table $table): Table { $options = $this->options; // will throw error $options = self::$staticOptions; // this will works }}
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses on Laravel Daily
AI Agents/IDEs for Laravel: May 2026 (Claude Code, Codex, OpenCode, etc)
7 lessons
52 min
Next.js Basics for Laravel Developers
11 lessons
58 min
How to Build Laravel 13 API From Scratch
30 lessons
1 h 23 min