Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Выборка похожих объектов каталога по одному свойству

Автор rauschenРаздел Custom макросы

Ответов: 5
Просмотров: 4482
Последний ответ 04 Мая 2012, 11:37:10
от rauschen
Выборка USEL с несколькими параметрами для одного поля

Автор sempl84Раздел Шаблоны XSLT

Ответов: 3
Просмотров: 3168
Последний ответ 29 Ноября 2012, 11:05:03
от niakriss
Usel выборка и поле ссылка на дерево

Автор SumrakrndРаздел Шаблоны XSLT

Ответов: 88
Просмотров: 14185
Последний ответ 22 Марта 2016, 18:43:38
от Sumrakrnd
Требуется выбрать только те страницы, у которых значение поля равно заданному

Автор tkalyuginaРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 3775
Последний ответ 26 Сентября 2019, 13:01:06
от pandus
Выборка новостей по месяцам

Автор koroganРаздел Шаблоны TPL

Ответов: 1
Просмотров: 2544
Последний ответ 03 Июля 2012, 09:15:55
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

atach

  • ***
  • 165
  • +6/-0
    • Просмотр профиля
Добрый день, подскажите я делаю выборку заказов:
$orders = new selector('objects');
$orders->types('object-type')->name('emarket', 'order');
$orders->option("return", array("name", "id"));
$totalItems = $orders->length;
Вопрос такого характера, как можно произвести поиск только по заказам, которые оформлены зарегистрированными пользователями, т.е. к кого "customer_id", имеет type-guid="users-user".

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
В одной выборке, скорее всего только прямым sql запросом.

Если говорить о решении в рамках API? то можно попробовать в 2 выборки (но если пользователей или заказов много, то не очень вариант)

$users= new selector('objects');
$users->types('object-type')->name('users', 'user');
$users->option("return", array("id"));
$user_ids = array();
foreach($users as $user){
    $user_ids[] = $user->id;
}
$orders = new selector('objects');
$orders->types('object-type')->name('emarket', 'order');
$orders->where('customer_id')->equals($user_ids);
$orders->option("return", array("name", "id"));
$totalItems = $orders->length;