cms icon indicating copy to clipboard operation
cms copied to clipboard

Asset Fieldtype performs multiple queries when templating using Colon Instead of tag pair

Open DanielDarrenJones opened this issue 8 months ago • 2 comments

Bug description

If you access a variable on an asset fieldtype directly using a colon like so:

{{ hero_image:url }}
{{ hero_image:alt }}

A query will be performed for each variable you access, this could potentially be reduced by implementing blink caching here, otherwise we could document this behaviour in the docs, let me know which you would prefer and I can submit a PR?

How to reproduce

Add a asset fieldtype with a limit of 1 to an entry, access the field in antlers like so:

{{ hero_image:url }}
{{ hero_image:alt }}

Each additional attribute you access will make an additional SQL query (I have only tested this on the eloquent driver).

Logs

No response

Environment

Environment
Application Name: Pelorus
Laravel Version: 10.48.12
PHP Version: 8.2.19
Composer Version: 2.7.7
Environment: local
Debug Mode: ENABLED
URL: localhost
Maintenance Mode: OFF

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: redis
Database: mysql
Logs: stack / single
Mail: log
Queue: redis
Session: redis

Statamic
Addons: 8
Sites: 8 (Travel (GB), Travel (US), Aviation (GB), and 5 more)
Stache Watcher: Disabled
Static Caching: Disabled
Version: 5.7.3 PRO

Statamic Addons
aryehraber/statamic-captcha: 1.11.0
doefom/currency-fieldtype: 1.4.0
gerttimmerman/statamic-zapier: 1.6
jacksleight/statamic-bard-texstyle: 3.2.2
ndx/statamic-bard-color-picker: 2.0.0
ryanmitchell/statamic-translation-manager: 2.0.0
statamic/eloquent-driver: 4.2.0
withcandour/aardvark-seo: 5.0.0

Statamic Eloquent Driver
Asset Containers: eloquent
Assets: eloquent
Blueprints: file
Collection Trees: file
Collections: file
Entries: file
Forms: file
Global Sets: file
Global Variables: file
Navigation Trees: file
Navigations: file
Revisions: file
Taxonomies: file
Terms: file
Tokens: file

Installation

Fresh statamic/statamic site via CLI

Additional details

No response

DanielDarrenJones avatar Jun 13 '24 19:06 DanielDarrenJones