Skip to content

Latest commit

 

History

History
48 lines (42 loc) · 915 Bytes

02.sort.md

File metadata and controls

48 lines (42 loc) · 915 Bytes

Sort [draft]

Shop

{
    "id": 492440,
    "state": "active",
    "verticalId": 2,
    "company": null,
    "address": null,
    "phoneCostsinfo": null,
    "email": "shop492440@localhost",
    "commissionRateDefault": null,
    "commissionRates": [],
    "basicCharge": false,
    "paymentCommissionFee": 4.5,
    "bankData": null,
    "createdAt": "2017-12-10 21:00:12"
}

Request example [draft]

GET /shops?sort[email]=asc&sort[createdAt]=desc&sort[paymentCommissionFee]=desc

Request example [rejected]

GET /shops?sort=email,-createdAt,-paymentCommissionFee
or
GET /shops?sort[]=email&sort[]=-createdAt&sort[]=-paymentCommissionFee

Server

<?php

$sortDirection = 'ASC';
if (0 === strpos($value, '-')) {
    $sortDirection = 'DESC';
    $value = ltrim($value, '-');
}

Query

SELECT * FROM shops ORDER BY email ASC, createdAt DESC, paymentCommissionFee DESC