JTable/reorder
From Joomla! Documentation
< JTable
| This is a article which: needs review. You can help the Joomla! Documentation Wiki by contributing to it. More pages that need help similar to this one are here. If you feel the need is satistified, please remove this notice. While actively editing, consider adding {{inuse}} to reduce edit conflicts. |
Contents |
Syntax
void reorder ([string $where = ])
where:
| Argument | Data type | Description | Default |
|---|---|---|---|
| $where | string | Additional where query to limit ordering to a particular subset of records |
Preconditions
Your database table must have a column named 'ordering'.
What does the method do?
The goal of the method is to compact the ordering sequence of the selected records. To do this, the method loads all records of the table (or just those that have been defined in the 'where'-clause. It then resets the ordering of all records in such a way that the ordering is continious.
Example
Let's say we have the following database-table:
| id | greeting | ordering |
|---|---|---|
| 1 | Hello | 5 |
| 2 | Bonjour | 15 |
| 3 | Guten Tag | 3 |
We now want to compress the ordering of the table.
//We need an instance of the table object. In a controller or model we can do it like this... $table = $this->getTable('greeting'); //Let's compact the ordering sequence $table->reorder();
The first thing the method does is to load the table ordered by the current ordering:
| id | greeting | ordering |
|---|---|---|
| 3 | Guten Tag | 3 |
| 1 | Hello | 5 |
| 2 | Bonjour | 15 |
The next (and last step) is that the method updates the ordering entries so it's a consecutive sequence:
| id | greeting | ordering |
|---|---|---|
| 3 | Guten Tag | 1 |
| 1 | Hello | 2 |
| 2 | Bonjour | 3 |