Modx pdoresources – pdoResources как замена getResources / Сниппеты / Modx Revolution / Технический блог веб-разработчика

Сниппет MODx Revolution pdoResources

Оглавление

pdoResources — сниппет предназначен для вывода списка ресурсов. Является продвинутой заменой для getResources: обладает всеми его возможностями, но лишен недостатков.

Умеет правильно сортировать ТВ параметры, присоединять таблицы при выборке, включать и исключать категории из разных контекстов и еще много чего.

#

Параметры

Параметры сниппета pdoResources.

#

Параметры выборки ресурсов

Эти параметры определяют, какие ресурсы появятся в генерируемом списке.

&parentsТекущий ресурсСписок родителей, через запятую, для поиска результатов. Если поставить 0 — выборка не ограничивается. Если id родителя начинается с дефиса, он и его потомки исключаются из выборки.
&depth
10Глубина поиска дочерних ресурсов от родителя.
&resourcesСписок ресурсов, через запятую, для вывода в результатах. Если id ресурса начинается с дефиса, этот ресурс исключается из выборки.
&contextОграничение выборки по контексту ресурсов.
&whereМассив дополнительных параметров выборки, закодированный в JSON.
&showHidden1Показывать ресурсы, скрытые в меню.
&showUnpublished0Показывать неопубликованные ресурсы.
&showDeleted0Показывать удалённые ресурсы.
&hideContainers0Отключает вывод контейнеров, то есть, ресурсов с «isfolder = 1».
&select
0Список полей для выборки, через запятую. Можно указывать JSON строку с массивом, например {"modResource":"id,pagetitle,content"}.
&sortbypagetitleЛюбое поле ресурса для сортировки, включая ТВ параметр, если он указан в параметре &includeTVs. Можно указывать JSON строку с массивом нескольких полей, например {"tvname":"ASC", "pagetitle":"DESC"}. Для случайно сортировки укажите «RAND ()»
&sortdirDESCНаправление сортировки: по убыванию или возрастанию.
&setTotal0Отключение выборки total по умолчанию (с версии 2.11.0). Сниппет pdoPage включает его всегда.
&limit10Ограничение количества результатов выборки. Можно использовать «0».
&offset
0Пропуск результатов от начала. Необходимо использовать вместе с явно указанным &limit.
&first1Номер первой итерации вывода результатов.
&lastАвтоматически, по формуле (total + first — 1)Номер последней итерации вывода результатов.
&loadModelsСписок компонентов, через запятую, чьи модели нужно загрузить для построения запроса. Например: &loadModels=`ms2gallery, msearch3`.
&tvFilters Список фильтров по ТВ, с разделителями AND и OR. Разделитель, указанный в параметре &tvFiltersOrDelimiter представляет логическое условие OR и по нему условия группируются в первую очередь. Внутри каждой группы вы можете задать список значений, разделив их &tvFiltersAndDelimiter
. Поиск значений может проводиться в каком-то конкретном ТВ, если он указан «myTV==value», или в любом «value». Пример вызова: &tvFilters=`filter2==one, filter1==bar%||filter1==foo`. Обратите внимание: фильтрация использует оператор LIKE и знак «%» является метасимволом. И еще: Поиск идёт по значениям, которые физически находятся в БД, то есть, сюда не подставляются значения по умолчанию из настроек ТВ.
&tvFiltersAndDelimiter»,»Разделитель для условий AND в параметре &tvFilters.
&tvFiltersOrDelimiter«||»Разделитель для условий OR в параметре &tvFilters.tplFirst
НазваниеПо умолчаниюОписание
#

Параметры шаблонов

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

НазваниеОписание
&returnIdsУстановите значение «1», чтобы вернуть строку со списком id ресурсов, вместо оформленных результатов. Все указанные шаблоны игнорируются.
&tplИмя чанка для оформления ресурса. Если не указан, то содержимое полей ресурса будет распечатано на экран.
&tplFirstИмя чанка для первого ресурса в результатах.
&tplLastИмя чанка для последнего ресурса в результатах.
&tplOddИмя чанка для каждого второго ресурса.
&tplWrapperЧанк-обёртка, для заворачивания всех результатов. Понимает один плейсхолдер: [[+output]]. Не работает вместе с параметром &toSeparatePlaceholders
.
&wrapIfEmpty Включает вывод чанка-обертки &tplWrapper даже если результатов нет.
&tplCondition Поле ресурса, из которого будет получено значение для выбора чанка по условию в &conditionalTpls.
&tplOperator Необязательный оператор для проведения сравнения поля ресурса в &tplCondition с массивом значений и чанков в &conditionalTpls.
&conditionalTpls JSON строка с массивом, у которого в ключах указано то, с чем будет сравниваться &tplCondition, а в значениях — чанки, которые будут использованы для вывода, если сравнение будет успешно. Оператор сравнения указывается в &tplOperator. Для операторов типа isempty можно использовать массив без ключей.
&outputSeparator Необязательная строка для разделения результатов работы.
#

Параметры результатов

Эти параметры дополнительно определяют, какие данные и каким способом будут выводиться.

НазваниеПо умолчаниюОписание
&fastMode0Быстрый режим обработки чанков. Все необработанные теги (условия, сниппеты и т. п.) будут вырезаны.
&idxВы можете указать стартовый номер итерации вывода результатов.
&totalVartotalИмя плейсхолдера для сохранения общего количества результатов. Параметр &setTotal должен быть включен.
&includeContent0Включаем поле «content» в выборку.
&includeTVs Список ТВ параметров для выборки, через запятую. Например: «action, time» дадут плейсхолдеры [[+tv.action]] и [[tv.time]].
&prepareTVs«1», что означает подготовку всех ТВ, указанных в &includeTVsСписок ТВ параметров, которые нужно подготовить перед выводом.
&processTVs Список ТВ параметров, которые нужно обработать перед выводом. Если установить в «1», будут обработаны все ТВ, указанные в &includeTVs.
&tvPrefixtv.Префикс для ТВ параметров.
&useWeblinkUrl Генерировать ссылку с учетом класса ресурса, включает плейсхолдер [[+link]].
&toPlaceholderЕсли не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран.
&toSeparatePlaceholdersЕсли вы укажете слово в этом параметре, то ВСЕ результаты будут выставлены в разные плейсхолдеры, начинающиеся с этого слова и заканчивающиеся порядковым номером строки, от нуля. Например, указав в параметре «myPl», вы получите плейсхолдеры [[+myPl0]], [[+myPl1]] и т. д.
&showLog0Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контекте «mgr».
#

Примеры

Простейший вывод списка дочерних ресурсов документа с идентификатором 1:

/* modParser */
[[pdoResources?
    &parents=`1`
    &depth=`0`
    &tpl=`ListRowTpl`
]]

/* pdoParser */
{$_modx->runSnippet('!pdoResources', [
'parents' => 1,
'depth' => 0,
'tpl' => 'ListRowTpl',
])}

Если используется дополнительное поле image, то вызов изменится следующим образом:

/* modParser */
[[pdoResources?
    &parents=`1`
    &depth=`0`
    &tpl=`ListRowTpl`
    &includeTVs=`image`
]]

/* pdoParser */
{$_modx->runSnippet('!pdoResources', [
'parents' => 1,
'depth' => 0,
'tpl' => 'ListRowTpl',
'includeTVs' => 'image',
])}

В чанке ListRowTpl за это поле будет отвечать плейсхолдер [[+tv.image]].

#

Дополнительная информация

При переносе чанков с getResources, довольно распространённой ошибкой является использование модификатора strtotime, для форматирования даты.

Дело в том, что даты ресурсов и так хранятся в виде timestamp, но конвертируются в нормальные даты из-за использования объектов modResource — так запрограммировано в его свойствах. А потом, для форматирования даты, их нужно перевести обратно в timestamp. Выходит двойная ненужная конвертация.

pdoTools же работает напрямую с базой данных, без создания объектов и конвертации их значений, поэтому в чанк приходит timestamp, который не нужно дополнительно обрабатывать. Вы можете сразу применять модификатор date к значениям:

[[+publishedon:date=`%d.%m.%Y`]]

или

[[+createdon:date=`%Y-%m-%d`]]

Это касается работы с датами ресурсов и в других сниппетах pdoTools.

pdoResources как замена getResources / Сниппеты / Modx Revolution / Технический блог веб-разработчика

pdoResources как замена getResources

Ближайший аналог этих сниппетов в Evo — это Ditto. Используются для вывода дочерних ресурсов текущего документа, но можно указать и определённого родителя. Как пример, такое можно встретить в блоге — когда выводятся все записи определённой категории. pdoResources гораздо функциональнее и шустрее getResources, поэтому я его больше рекомендую к использованию. Различия в использовании параметров данных снипетов минимальны, поэтому переход на pdoResources будет безболезненным. Там же, где всё-таки есть небольшие нюансы, об этом будет написано отдельно. 

Основные параметры

getResources (значение по умолчанию)pdoResources (значение по умолчанию)Применение

&parents=`[­[*id]]`

&parents=`[­[*id]]`

Список родителей, из которых будут выводиться дочерние ресурсы (указываются через запятую). Если перед именем ресурса поставить дефис, то такой ресурс будет исключаться из выборки.  

&resources

&resources Список ресурсов для вывода. При указании дефиса, ресурс исключается из выборки. 

&depth=`10`

&depth=`10` Глубина выборки от родителя. 

&tvFilters

&tvFilters

Фильтрация ресурсов по значениям TV.
В качестве разделителя AND используется «,»
В качестве разделителя OR используется «||»

Примеры вызова: 
&tvFilters=`color==red||color==yellow` — TV может принимать одно из двух значений, 
&tvFilters=`color==red,size==small` — одно из значений TV равно red, другое равно small,
&tvFilters=`color==red||color==yellow,size==small||size=big` — комбинируем перечисленные выше два варианта, что так же допускается. 

Фильтрация для поиска использует оператор LIKE, поэтому можно писать так: 
&tvFilters=`mytv==А%` — название TV начинается на А. 

pdoResources. Можно использовать кастомные разделители значений. Задаются в параметрах tvFiltersOrDelimiter=`||`tvFiltersAndDelimiter=`,`— разделители для «ИЛИ» и «И» соответственно. 
  

&sortby=`createdon`

&sortby=`pagetitle`

Поле ресурса, по которому будет происходить сортировка.
Сортировка в случайном порядке:
&sortby=`RAND()`
Так же, можно указывать JSON массив сразу из нескольких полей:
&sortby=`{«pagetitle»:»ASC»,»menuindex»:»DESC»}`

pdoResources. Eсли в параметрах свойства includeTVs перечислены значения TV, то возможна сортировка и по ним.  

getResources. Для сортировки по TV параметрам и задания направления используются параметры sortbyTV и sortdirTV соответственно. 

&sortdir=`DESC`

&sortdir=`DESC`

Направление для сортировки. 

&limit=`5`

&limit=`10`

Ограничение по количеству результатов.

&offset=`0`

&offset=`0`

Пропуск результатов от начала. 

&where

&where

Ограничение выборки по тем или иным параметрам. Представляет собой строку, закодированную в JSON.

&context

&context

Ограничение выборки по контексту.

Дополнительные параметры

getResources (значение по умолчанию)pdoResources (значение по умолчанию)Применение

&showUnpublished=`0`

&showUnpublished=`0`

Показывать ли неопубликованные ресурсы. 

&showDeleted=`0`

&showDeleted=`0` Показывать ли ресурсы, помеченные как удалённые.

&showHidden=`0`

&showHidden=`0` Показывать ли ресурсы, у которых стоит галочка «Не показывать в меню».

&hideContainers=`0`

&hideContainers=`0` Показывать ли ресурсы, которые являются контейнерами. 

&includeContent=`0`

&includeContent=`0` Подгружать ли поле content.

&includeTVs=`0`

&includeTVs

В параметрах указываем TV, которые так же будут доступны. В чанке доступ к TV будет доступен через плэйсхолдеры с префиксом tv. Например, [­[+tv.price]]

&prepareTVs=`1`

&prepareTVs=`1`

Список TV-параметров, которые нужно подготовить перед выборкой. 1 означает — подготовить все TV.

&processTVs=`0`

&processTVs

Список TV, которые будут обработаны перед выводом. 
pdoResources. Если поставить 1, то будут обработаны все TV, указанные в includeTVs.

&tvPrefix=`tv.`

&tvPrefix=`tv.`

Префикс для TV параметров. 

&idx=`1`

&idx

Цифра, с которой будет начинаться итерируемый плейсхолдер [­[+idx]]

&totalVar=`total`

&totalVar=`total`

Имя плейсхолдера, в котором будет храниться общее количество результатов. 

debug=`false`

&showLog=`0`

Будет ли выведена информация, отвечающая за отладку. Какие SQL запросы были выполнены и т. д. 

Параметры шаблонов

getResources (значение по умолчанию)pdoResources (значение по умолчанию)Применение

&tpl

&tpl

Имя чанка ресурса. Если не указано, то будет выведено содержимое всех полей. 

&tplOdd

&tplOdd Имя чанка для чётных ресурсов. 

&tplFirst

&tplFirst Имя чанка для первого ресурса. 

&tplLast

&tplLast Имя чанка для последнего ресурса.

&tplCondition

&tplCondition Поле ресурса, в котором будет содержаться значение для выбора чанка по условию, заданному в параметре conditionalTpls

&conditionalTpls

&conditionalTpls

JSON-строка с массивом, ключом которого будет выступать строка, которая будет сравниваться с полем, указанным в параметре tplCondition. А в качестве значения ключа будет выступать имя чанка, который будет использован, если условие выполнится. 

pdoResources. Оператор сравнения можно дополнительно указать в параметре tplOperator. 

&tplWrapper

&tplWrapper

Чанк-обёртка, в котором будут выводиться все ресурсы. [­[+output]] — плэйсхолдер всех результатов. 
Примечание. Не работает с параметром &toSeparatePlaceholders

&wrapIfEmpty=`false`

&wrapIfEmpty

Если в качестве значения указать 1, то принудительно выводит чанк, указанный в параметре tplWrapper,  даже если результатов нет. 

&outputSeparator=`\n`

&outputSeparator

Строка для разделения результатов вывода. 

&toPlaceholder

&toPlaceholder

Если не пусто, то сниппет вместо вывода на экран, сохранит все результаты в плэйсхолдер. 

&toSeparatePlaceholders

&toSeparatePlaceholders

Если заполнить значение данного параметра, то вместо плэйсхолдера со всеми результатами, на выходе получится множество плэйсхолдеров, которые начинаются со значения, указанного вами в данном параметре. А после этого параметра будет идти порядковый номер результата плэйсхолдера. 

Примеры работы

Самый простой вызов, с необходимым минимумом параметров:

[­[pdoResources? 
  &parents=`1`
  &depth=`0`
  &tpl=`catalog_item`
]]

Когда необходимо подключить дополнительный TV при выводе: 

[­[pdoResources? 
  &parents=`1`
  &depth=`0`
  &tpl=`catalog_item`
  &includeTVs=`price`
]]

Сортируем элементы по индексу (порядок расположения в дереве элементов):

[­[!pdoResources?
   &tpl=`item_cat_second`
   &depth=`0`
   &parents=`9`
   &sortby=`menuindex`
   &sortdir=`ASC`
]]

Замена getResources на pdoResources в MODX Revolution

Замена getResources на pdoResources в MODX Revolution

Вчера я решил попробовать заменить на сайте snippet вывода ресурсов «getResources» на «pdoResources». Результат превзошел все мои ожидания. Время загрузки кешируемой главной страницы уменьшилось с 1.1 сек до 0.76 сек.

Переход занимает менее 10 минут. Достаточно установить из репозитория пакет pdoTools (про пакет «pdoTools» и остальные его сниппеты я написал отдельную статью — pdoTools в MODX Revoluton — замена стандартных сниппетов) и сделать несколько правок.

Меняем название getResources на pdoResources

Само собой разумеющийся пункт и здесь хотелось бы лишь отметить, что если для вывода ресурсов у вас используется постраничная навигация («getPages»), то это никак не помешает переходу. Точно так же применяйте вместо элемента вывода getResources — pdoResources. Различие в параметрах будет лишь одно. О нем ниже.

includeTVs — включение TV параметров в вывод ресурсов

В «getResources» указывается значение 1 если требуется включать TV параметры в результат вывода и 0, если не требуется:


&includeTVs=`1`

В «pdoResources» необходимо указывать имена TV параметров, которые требуется включить в результат вывода, через запятую:


&includeTVs=`img-news,tags`

Вывод даты публикации ресурса

В getResources:

Опубликовано: [[+publishedon:strtotime:date=`%d %b %Yг. в %H:%M`]]

В pdoResources убираем промежуточную функцию strtotime:

Опубликовано: [[+publishedon:date=`%d %b %Yг. в %H:%M`]]

Замена «getResourcesTag»

Вместе с «getResources» идет сниппет «getResourcesTag», который выводит ресурсы по тегу. «pdoResources» может заменить и его. Я реализовал замену включением в «pdoResources» следующего параметра:


&where=`{"tags:LIKE":"%[[!getUrlParam? &name=`tag`]]%"}`

Он указывает на то, что требуется вывести только те статьи, у которых в TV-поле «tags» встречается слово, передаваемое в адресной строке в параметре «tag».

Для получения этого параметра я использую snippet «getUrlParam». Устанавливается он из репозитория как обычный пакет. Он предназначен для вывода значения переменной, передаваемой в адресной строке методом GET.

Параметр «conditionalTpls»

На самом деле, этот пункт здесь лишний, так как данный параметр есть как у первого сниппета, так и у второго. Однако, узнал я о его существовании только когда начал разбираться c «pdoResources».

&conditionalTpls — параметр применяется в сниппетах pdoResources/getResources при необходимости осуществить вывод отдельных ресурсов в «свои» чанки:


[[!pdoResources? 
    &parents=`2` 
    &tpl=`chunk1` 
    &tplCondition=`pagetitle` 
    &tplOperator=`==` 
    &conditionalTpls=`{"Статья 2":"chunk2", "Статья 5":"chunk3"}` 
]]

&tplCondition — Поле ресурса, из которого будет получено значение для выбора чанка по условию в «conditionalTpls». Например: pagetitle или alias.

&tplOperator — Оператор сравнения, возможный список:
==, !=, , =, empty, !empty, isnull

&conditionalTpls — строка с массивом, в котором указано то, с чем будет сравниваться «tplCondition», а в значениях — чанки, которые будут использованы для вывода, если сравнение будет успешным.

Фильтрация по TV в pdoResources / Русскоязычное сообщество MODX

Здравствуйте!

У меня есть TV акция типа переключатели (радио):

Да==1||Нет==0
Значение по умолчанию — 0
И два ресурса — один с акцией, другой без.
Не работает вызов pdoResources:
[[!AjaxSnippet?
                &snippet=`pdoPage`
                &propertySet=`blog`
                &element=`pdoResources`
                &parents=`[[*id]]`
                &tpl=`blogTpl`
                &includeTVs=`isAction,actionDate,imageOnMain,textOnMain`
                &prepareTVs=`1`
                &processTVs=`1`
             &where=`{"isAction":"0"}`
                &limit=`1`
                &page=`[[!geturi]]`
                &pageVarKey=`page2`
                &as_mode=`onload`   
                &wrapper=`tpl.ajax`
                &showLog=`1`
                ]]
Ничего не выводит. Притом если указать
&where=`{"isAction":"1"}`
то выведет правильный ресурс или оба, если и второму тоже поставить акцию.
Лог такой (если не акция):
0.0001621: pdoTools loaded
0.0000410: xPDO query object created
0.0032070: Included list of tvs: <b>actionDate, imageOnMain, isAction, textOnMain</b>
0.0043399: leftJoined <i>modTemplateVarResource</i> as <b>TVactiondate</b>
0.0004411: leftJoined <i>modTemplateVarResource</i> as <b>TVimageonmain</b>
0.0004909: leftJoined <i>modTemplateVarResource</i> as <b>TVisaction</b>
0.0003319: leftJoined <i>modTemplateVarResource</i> as <b>TVtextonmain</b>
0.0005219: Added selection of <b>modResource</b>: <small>SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`</small>
0.0000150: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.actionDate`</small>
0.0000122: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.imageOnMain`</small>
0.0000100: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '0') AS `tv.isAction`</small>
0.0000110: Added selection of <b>modTemplateVarResource</b>: <small>IFNULL(`value`, '') AS `tv.textOnMain`</small>
0.0000491: Replaced TV conditions
0.0007021: Processed additional conditions
0.0011911: Added where condition: <b>`TVisaction`.`value`=0, modResource.parent:IN(256,257,258), modResource.published=1, modResource.deleted=0</b>
0.0000350: Replaced TV conditions
0.0001531: Sorted by <b>modResource.publishedon</b>, <b>DESC</b>
0.0000041: Limited to <b>1</b>, offset <b></b>
0.0003650: SQL prepared <small>"SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVactiondate`.`value`, '') AS `tv.actionDate`, IFNULL(`TVimageonmain`.`value`, '') AS `tv.imageOnMain`, IFNULL(`TVisaction`.`value`, '0') AS `tv.isAction`, IFNULL(`TVtextonmain`.`value`, '') AS `tv.textOnMain` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVactiondate` ON `TVactiondate`.`contentid` = `modResource`.`id` AND `TVactiondate`.`tmplvarid` = 38 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVimageonmain` ON `TVimageonmain`.`contentid` = `modResource`.`id` AND `TVimageonmain`.`tmplvarid` = 36 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVisaction` ON `TVisaction`.`contentid` = `modResource`.`id` AND `TVisaction`.`tmplvarid` = 40 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVtextonmain` ON `TVtextonmain`.`contentid` = `modResource`.`id` AND `TVtextonmain`.`tmplvarid` = 39 WHERE  ( `TVisaction`.`value` = '0' AND `modResource`.`parent` IN (256,257,258) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 1 "</small>
0.0005929: SQL executed
0.0000889: Total rows: <b>0</b>
0.0000119: Rows fetched
0.0000219: Prepared and processed TVs
0.0000012: Returning processed chunks
0.0122540: <b>Total time</b>
13 631 488: <b>Memory usage</b>
Помогите, пожалуйста, разобраться в чем проблема.
Спасибо!

UPD:как оказалось, не работает значение по умолчанию. Если его не указывать, то

&where=`{"isAction:!=":"1"}`
не отрабатывает (я так понимаю из-за того, что оно вообще не указано в бд…)
Кто-то знает, в чем может быть причина?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *