Project

General

Profile

Actions

Bug #88955

closed

Language restriction is not automatically taken in account with queryBuilder

Added by Florian Rival over 4 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Database API (Doctrine DBAL)
Target version:
-
Start date:
2019-08-13
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.1
Tags:
Typo3 v9.5.8
Complexity:
Is Regression:
No
Sprint Focus:

Description

Create a request to get data from a table in a repository :

$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_myext_domain_model_table');
$result = $queryBuilder->select('*')
        ->from('tx_myext_domain_model_table')
        ->where(...$conditions)
        ->execute()
        ->fetchAll();

if the table 'tx_myext_domain_model_table' contains translations for other languages (i.e. sys_language_uid > 0) the result returned include the records for all languages while 'sys_language_uid' should have been automatically filtered for the current language.

Actions #1

Updated by Frank Nägler over 4 years ago

  • Category changed from Extbase to Database API (Doctrine DBAL)
  • Status changed from New to Closed
  • Is Regression changed from Yes to No

Thank you for your report, but the issue you describe is not a bug nor a regression.
The QueryBuilder contains the DefaultRestrictionContainer which contains restrictions for deleted and hidden flags and time-based restrictions.
So the language was never taken into account, changing this behavior would be a big breaking change.

For these reasons, I will close the issue. If you think I am wrong please add a comment or open a new issue.

Actions #2

Updated by Florian Rival over 4 years ago

Ok, but in that case it should exist a language restriction that can be added in order to get data only for current language.
This is a feature that we always need when working with QueryBuilder on a multi-language website.

Actions #3

Updated by Sybille Peters over 4 years ago

I expected the DefaultRestriction to include a language restriction as well. This might also trip up people migrating from Extbase query building.

We might want to add the information to the documentation, at least. I added an issue: https://github.com/TYPO3-Documentation/TYPO3CMS-Reference-CoreApi/issues/720

Actions #4

Updated by Anonymous about 3 years ago

Sybille Peters wrote in #note-3:

This might also trip up people migrating from Extbase query building.

and makes people really mad as well. Riot like mad.

Actions #5

Updated by Johannes Rebhan almost 3 years ago

Agreed. LanguageRestriction would be very, very useful.

Actions

Also available in: Atom PDF