Comments (5)
In #11863 you can add allCollections()
to show media from all collections
from filament.
This was an unfortunate breaking change but it's for the best. It only happens when you have a typed $record
arg. We made the change so we aren't eager loading media from collections we do not use.
You need to return null if the $record
is null, so all images get eager loaded in.
Alternatively, $record->media()->first()?->collection_name
looks like you don't even need collection()
at all, it is just getting whatever collection is defined. It's also an N+1 query. Maybe remove it?
from filament.
This is exactly what i need. Show in a table all the records with his own media that can be “images” or “documents” (i’ve a fallback image for supported extension) or whatever. Mine is a media library where a model is related to a spatie model. This way i can reference that model anywhere in my project and a single media can be used on multiple other entities.
from filament.
Yeah, so you should be able to remove the collection() to load all media?
from filament.
If I remove the collection() method, the block of code in applyEagerLoading will default to filtering by 'default,' and then nothing will be returned as media because all of my media elements are either 'images' or 'documents.'
I think that the modifyMediaQuery should only be executed if a collection() is provided; otherwise, it will always default to 'default' and will not display anything as an image.
I understand that we are discussing a SpatieMediaLibraryImageColumn, so it should always be an 'image' or something similar, but I still display icons for other types of documents.
A possible solution could be to use $this->collection instead of $this->getCollection(). This is because the method will return "default" if nothing is passed to the ->collection() method, whereas $this->collection will be empty if nothing is passed, and then the Builder will not add any filter.
/** @phpstan-ignore-next-line */
$modifyMediaQuery = fn (Builder | Relation $query) => $query
->ordered()
->when(
$this->collection,
fn (Builder | Relation $query, string $collection) => $query->where(
'collection_name',
$collection,
),
);
from filament.
Related Issues (20)
- The value for hidden or non-visible fields is not sent to the backend HOT 1
- afterStateUpdated() is run twice when testing file upload HOT 4
- Pressing Enter/Return on an input in a Wizard will try to submit instead of going to the next step HOT 5
- ExportAction failed to export HOT 1
- problem in Accessing the Main Form elements from the createOptionForm HOT 2
- problem in Accessing the Main Form elements from the createOptionForm HOT 2
- Required checkbox inside modal wizard HOT 4
- Showing the name of pressed key on keyboard on SELECT object HOT 3
- UI Bug: Select Filter with Multiple Options Hidden by overflow: hidden CSS in FiltersLayout::BelowContent
- Upgrade to Choices.js v11 HOT 1
- Use custom CSS classes for Choices.js
- Relation manager doesn't apply casts in edit form
- Use dialog element for modals
- Unsaved alerts show always pops up even if no changes made when using `->mask()` HOT 1
- I also found this issue when use Select in Repeater and in Action Modal HOT 2
- File Upload Error for Files Larger Than 2MB HOT 1
- HTML Descriptions are incorrectly converted to entities when using a CheckboxList with Enums
- A UI bug in Wizard forms, when the number of tabs is many in mobile mode HOT 1
- Autosize not adjusting after its value is $set from a hintAction HOT 1
- Broken sticky topbar in `v4.x` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from filament.