public function createAction(): Action { $user = auth()->user(); $company = current_company(); return Action::make('create') ->form([ Hidden::make('user_id')->default($user->id), Hidden::make('team_id')->default($company->id), Grid::make() ->columns(2) ->schema([ Select::make('product_id') ->relationship( name: 'product', titleAttribute: 'name', modifyQueryUsing: function (Builder $query) use ($company) { $query->where('team_id', $company->id)->where('active', true); } ) ->exists(modifyRuleUsing: function (Exists $rule) use ($company) { return $rule->where('active', 1)->where('team_id', $company->id); }) ->options(Product::where('team_id', $company->id)->where('active', true)->get()->pluck('name', 'id')) ->searchable() ->required() ->live(), TextInput::make('number') ->required() ->unique(modifyRuleUsing: function (Unique $rule, Get $get) use ($company) { return $rule->where('team_id', $company->id)->where('product_id', $get('product_id')); //->where('active', true) }) ->maxLength(255) ->label('Batch Number'), ]) ]) ->action(function (array $data): void { dd($data); // Batch::create($data); }) ->modalAlignment(Alignment::Center); }