! пустая запись показа в первом порядке в торт php - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть список ресторанов.когда меню ресторана пусто, ресторан показывал в последнем порядке .. что я делаю .. вы можете помочь ..

Мой запрос:

$restaurantList = $this->Restaurants->find('all', [
            'conditions' => $conditions,
            'contain' => [
                'DeliveryLocations' => [
                    'conditions' => $areaLocationConditions,
                ],
                'RestaurantMenus' => [
                    'conditions' => [
                        'RestaurantMenus.status' => 1,
                        'RestaurantMenus.delete_status' => 'N'
                    ]
                ]
            ],
            'limit' => 5,
            'order' => 'Restaurants.id DESC'
        ])->hydrate(false)->toArray();

1 Ответ

0 голосов
/ 11 декабря 2018

Простое решение:

путем реализации CounterCache https://book.cakephp.org/3.0/en/orm/behaviors/counter-cache.html и упорядочения по результатам кэша.

Более сложное:

с использованием операторов Case

https://book.cakephp.org/3.0/en/orm/query-builder.html#case-statements

выберите 'has_menus', если у ресторана есть меню, затем 1 else 0

упорядочить по этим результатам

...