components([ Select::make('project_id')->relationship('project', 'name')->required(), Textarea::make('input')->required(), Textarea::make('output')->required(), TextInput::make('cost')->required(), ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('project.name')->label('Proyecto'), TextColumn::make('input')->limit(30), TextColumn::make('output')->limit(30), TextColumn::make('cost')->limit(30), TextColumn::make('created_at')->dateTime('d/m/Y H:i'), ]) ->actions([ EditAction::make(), DeleteAction::make(), ]); } public static function getPages(): array { return [ 'index' => Pages\ListExecutions::route('/'), 'create' => Pages\CreateExecution::route('/create'), 'edit' => Pages\EditExecution::route('/{record}/edit'), ]; } public static function getEloquentQuery(): Builder { $user = auth()->user(); if ($user && !$user->is_admin) { return parent::getEloquentQuery() ->whereHas('project', fn ($q) => $q->where('user_id', $user->id)); } return parent::getEloquentQuery(); } }