TYPO3 defaultOrdering排序末尾为Null

时间:2019-02-04 10:26:55

标签: sorting typo3 sql-order-by

我有一个TYPO3扩展名,它提供了我的雇员列表。有一个表用于存放员工数据,例如姓名,联系方式等,而另一个表则带有部分。大多数员工都分配了一个部门,但不是全部。

我想对列表进行排序,以便所有具有相同部门的员工都紧随其后,并在姓氏之后进行排序。那已经很好用了。

下一个排序:无论哪个部门或姓氏,3位特定的员工都必须排在列表顶部。我在后端插入了另一个输入字段“ position”。这是一个整数字段,后端的默认数字始终为0。

这就是我将其插入ext_tables.sql中的方式:

position int(11) DEFAULT '' NOT NULL,

因此,如果我将员工的值1放在第一个职位上,并希望在职位值之后进行排序,那么它将被放在列表的末尾,因为所有其他记录都为“ 0”,并且该记录早于“ 1”。 还有其他关于排序的建议吗?

这是我在TCA中的代码:

protected $defaultOrderings = array(
            'position' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
            'section.uid' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
            'lastname' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
    );

另一个问题是:并非所有员工都分配有部门,所以没有员工的部门会首先出现。但是我希望他们最后出现。

是否可以将具有特定值(在这种情况下没有值)的记录放在列表的末尾?

感谢您的帮助!

0 个答案:

没有答案