Project

General

Profile

Actions

Bug #86276

open

Counting LazyObjectStorages doesn't return the expected result

Added by Christian Richter over 5 years ago. Updated over 5 years ago.

Status:
New
Priority:
Should have
Category:
Extbase + l10n
Start date:
2018-09-16
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
8
PHP Version:
7.2
Tags:
extbase,fluid,objectstorage,translation
Complexity:
Is Regression:
Sprint Focus:

Description

I'm having trouble with the counting of `ObjectStorages` and just wanted to report an obscure behaviour I encountered.
Iterating over records in Fluid works as expected, but counting them is not possible as you can see in the attached screenshot. The Debugger and every manually invoked "counting" (in fluid, or in the controller code) of the `members`-property returns 18 which is the correct count of members including the translations.
But I'm only interested in the "real" count, as you can see, there are only 6 objects in the members' `LazyObjectStorage` and the corresponding list is only rendering 6 items in the default language.

This problem is LazyObjectStorage specific, removing the `@lazy` annotations does return an ObjectStorage with the same members but the correct count.

The TCA annotation looks like the following, although I think Extbase doesn't really respect that at that point:

        'members' => [
            'exclude' => 1,
            'l10n_mode' => 'exclude',
            'label' => 'LLL:EXT:cmb_members/Resources/Private/Language/locallang_db.xlf:tx_cmbmembers_domain_model_orgunit.members',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectMultipleSideBySide',
                'foreign_table' => 'tx_cmbmembers_domain_model_member',
                'foreign_field' => 'status',
                'foreign_table_where' => 'AND tx_cmbmembers_domain_model_member.sys_language_uid === 0',
            ],
        ],


Files

wrong_count_LazyObjectStorage.png (210 KB) wrong_count_LazyObjectStorage.png Unexpected count-result of LazyObjectStorage Christian Richter, 2018-09-16 16:56
Actions #1

Updated by Christian Richter over 5 years ago

I'm sorry @Tymoteusz Motylewski, I didn't really want to assign someone directly...
If it was some kind of auto-assignment, I'm happy to provide more details!

Have a nice Sunday!

Actions #2

Updated by Tymoteusz Motylewski over 5 years ago

Hi Christian
Thanks for your report.
Every fix for extbase query and persistence requires to have a functional tests in order to be merged.

Are you able to provide an functional test showing the issue (e.g. based on blog_example fixture extension from extbase)? I can guide you through the process if neede.

If not, then can you provide a minimal code example showing the wrong behavior and what you would expect?
This would help a lot!

Actions #3

Updated by Susanne Moog over 5 years ago

  • Target version changed from 9 LTS to Candidate for patchlevel
Actions #4

Updated by Christian Richter over 5 years ago

I would love to create more helpful bug reports in the future!
If you have the motivation and most of all the time to guide me through the process, that would be awesome!
Best
Christian

Actions #5

Updated by Tymoteusz Motylewski over 5 years ago

Please reach out to me on slack Christian.

Actions

Also available in: Atom PDF