View Issue Details

IDProjectCategoryView StatusLast Update
0007159OXID eShop (all versions)4. ------ eShop Core -------public2020-07-15 12:39
ReporterHelmut L. Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version6.1.5 
Summary0007159: $forceFullStructure paramter or _initDataStructure doesn't always work
DescriptionThe _initDataStructure method in BaseModel has a paramter to load the full structure, but this parameter is only used if there is no cache file. If you're using a Model class in one place with lazy loading and in another without lazy loading by calling disableLazyLoading on it, then it depends on which place was first called after clearing the cache if you get the full structure or not.

There should be either a separate cache file for the full structure or the $forceFullStructure parameter should case the cache file to not be used at all.
Steps To Reproducecreate on file that uses a Model class with lazy loading
execute that file

create another file that uses the same Model, but calls disableLazyLoading on it
if you call for example getSelectFields, you will see that it doesn't contain all columns, but only the columns that where used in the first file
TagsNo tags attached.
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities

QA

2020-07-15 12:39

administrator   ~0013265

Dear Helmut L.,

thank you for reporting this issue.
In OXID 6.2 the code still only checks $forceFullStructure if is there no cache-file.

Best regards
QA - SG -