outl1ne/nova-multiselect-field
saveAsJSON()) or stringified arrays, aligning with Nova’s flexible data handling. Compatible with Nova’s native BelongsToMany/BelongsTo relationships.FormFieldTag, NovaMultiselectDetailFieldValue), enabling deep customization without core modifications.asyncResource(), belongsToMany()) reduces client-side load and improves UX for large datasets.use Outl1ne\MultiselectField\Multiselect). No database migrations required for basic usage.^5.0 (PHP ^8.1) ensures stability but may require backporting for older Nova versions.laravel/nova-devtool (removed in v5.0.1) and vue-multiselect (v3.x). Verify compatibility with your Nova/Vue stack.BelongsToMany integration simplifies complex workflows (e.g., tagging, categorization) but requires proper model setup.saveAsJSON()) may conflict with existing queries/filters if not handled consistently. Test with Nova’s global scopes and filters.optionsLimit, belongsToMany) could introduce latency if not optimized (e.g., caching, pagination).taggable() values require validation to prevent injection or malformed data.vendor:publish), adding a maintenance step.belongsToMany fields, how will performance degrade with >10K related records? Are there built-in limits (e.g., optionsLimit)?vue-multiselect@^3.x, which aligns with Nova’s Vue 3 adoption (since Nova 4+). Custom components require Vue 3 syntax.Select fields for multiselect use cases (e.g., tags, categories, filters).Select field with Multiselect in a non-critical resource.->options([...])).->asyncResource() or ->belongsToMany()).reorderable(), taggable()).BelongsToMany relationships for maximum ROI.nova-export, nova-filters.v-model).^5.0 and PHP ^8.1 if not already compliant.laravel/nova-devtool is removed (or dependencies updated) per v5.0.1.Multiselect::make()).belongsToMany, asyncResource).optionsDependOn) and distinct groups.optionsLimit or caching for performance.max, nullable).vue-multiselect and Nova updates for breaking changes.composer.json to avoid unintended upgrades.belongsToMany queries.tail command, browser dev tools for Vue/Vuex state.nova:cache-resources) for belongsToMany fields.optionsLimit and client-side pagination in the multiselect UI.WHERE JSON_CONTAINS(column, '..."value"')).BelongsToMany pivots).| Scenario | Risk | Mitigation |
|---|---|---|
| Async query timeout | UI hangs or errors | Implement retry logic; add client-side loading states. |
| JSON serialization errors | Data corruption | Validate input/output with Nova’s fillable/casts; use saveAsJSON() consistently. |
| Dependency conflicts | Field options not updating | Test optionsDependOn with nested dependencies; log warnings for unsupported cases. |
| Vue component conflicts | UI rendering failures | Isolate custom components with unique IDs; test in isolation. |
| Large payloads | Slow responses or timeouts | Set optionsLimit; implement server-side pagination for async queries. |
Multiselect vs. native Select differences (e.g., JSON storage, ->belongsToMany()).BelongsToMany migration.How can I help you explore Laravel packages today?