Bug #70677

Sorting of foreign records in TCA type select

Added by Christian Fries almost 4 years ago. Updated 11 days ago.

Status:
Under Review
Priority:
Should have
Assignee:
-
Category:
Backend API
Start date:
2015-10-14
Due date:
% Done:

0%

TYPO3 Version:
8
PHP Version:
7.1
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Currently records of a foreign table won't be sorted in a select field if foreign_table_where doesn't contain an "ORDER BY ..." statement.

I'd suggest the following solution:
  • Introduce a new option 'foreign_table_sortby'
  • If 'foreign_table_sortby' is defined, use this statement for sorting
  • Backward compatibility: If 'foreign_table_where' contains an 'ORDER BY ...' statement and 'foreign_table_sortby' is undefined, use the 'ORDER BY ...' statement as 'foreign_table_sortby'. If 'foreign_table_sortby' is defined, ignore 'ORDER BY ...' statements in 'foreign_table_where'
  • If 'foreign_table_sortby' is not defined, use 'default_sortby' of the foreign table

In the long term this is a cleaner solution and if no sorting is defined, the records are sorted according to the default sorting.


Related issues

Blocks TYPO3 Core - Task #88933: Cleanup foreign_table_where directives Under Review 2019-08-07

History

#1 Updated by Robert Wildling over 1 year ago

  • Tracker changed from Feature to Bug
  • Category set to Backend API
  • Target version set to next-patchlevel
  • TYPO3 Version set to 8
  • PHP Version set to 7.1

I just came over a similar problem: the default_sortby is a date field (start_date) and it works fine, if it is used as the standard sorting mechanism of the table. But as soon as it is used as the right table of an m:m relation, things don't work as nicely any more, when the TCA does NOT define an ORDER BY. As soon as there is an "ORDER BY start_date" it works as expected - but it is "double the trouble".

I would say: if there is no ORDER BY, then the standard sorting mechanism of the table should be used.
(I am not so sure if the intrdocution of a new sorting mechanism is necessary...)

TYPO3 8.7.1, php 7.1.13, MAMP with opcache

#2 Updated by Benni Mack 4 months ago

  • Target version changed from next-patchlevel to Candidate for patchlevel

#3 Updated by Gerrit Code Review 12 days ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61474

#4 Updated by Christoph Lehmann 12 days ago

  • Related to Task #88933: Cleanup foreign_table_where directives added

#5 Updated by Christoph Lehmann 12 days ago

  • Related to deleted (Task #88933: Cleanup foreign_table_where directives)

#6 Updated by Christoph Lehmann 12 days ago

  • Blocks Task #88933: Cleanup foreign_table_where directives added

#7 Updated by Gerrit Code Review 11 days ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61474

#8 Updated by Gerrit Code Review 11 days ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61474

Also available in: Atom PDF