PdoResources стал игнорировать where

Вот такое странное поведение заметил у PdoResources, он стал игнорировать условия из параметра where.
Вот такой вот вызов ранее прекрасно отбирал один элемент, у которого TV in_home равнялось Да.
[[!pdoResources?
    &parents=`14`
    &depth=`1`
    &limit=`1`
    &sortby=`id`
    &sortdir=`ASC`
    &tpl=`tpl.mainVideo`
    &includeTVs=`img,in_home` 
    &tvPrefix=``
    &where=`{"in_home":"Да"}`
    
]]
Ничего не менялось, но теперь он совершенно игнорит условие. Сортирует по ID, выдает один вариант, но при этом плевать хотел на условие. К примеру при отключенном чанке выдает
Array
(
    [id] => 382
    [type] => document
    [contentType] => text/html
   
    [properties] => Array
        (
            [tickets] => Array
                (
                    [disable_jevix] => 
                    [process_tags] => 
                )

            [ms2gallery] => Array
                (
                    [media_source] => 2
                )

        )
    [img] => uploads/news/2017-02-21-b198c-clip-100kb.jpg
    [in_home] => 
    [idx] => 1
    [link] => 
)
Указываю лишь часть полей массива, но здесь видно что TV in_home пусто. Не помогает и указание других условий, не связанных с TV, а к примеру ограничение по pagetitle. Среди ресурсов, которые участвуют в выборке есть тот у кого in_home имеет значение Да.
Больше всего похоже на сбои самого MODX, его парсера. Но может у кого есть идеи?
Спасибо.
Александр Мельник
28 февраля 2017, 09:14
modx.pro
2 418
0

Комментарии: 7

Павел Романов
28 февраля 2017, 13:04
0
А если с пробелом после фиг. скобки?
&where=`{ "in_home":"Да" }`
Просто если Fenom на страницах включен, пару раз замечал, что фигурная скобка в условии срабатывает )).

Ну или использовать tvFilters:
&tvFilters=`in_home===Да`
    Александр Мельник
    28 февраля 2017, 13:16
    0
    Спасибо, пробовал фильтр. Тоже не реагирует на него.
    После открывающейся фигурной скобки? Попробую…
      Павел Романов
      28 февраля 2017, 13:28
      0
      Если не реагирует на &tvFilters, то дело не в скобках.
      Что в базе в TV у этого ресурса?
      Так что-нибудь выдает?
      [[pdoResources?
          &parents=`14`
          &depth=`1`
          &tpl=`@INLINE [[+pagetitle]]`
          &tvFilters=`in_home===Да`
      ]]
        Александр Мельник
        28 февраля 2017, 13:56
        0
        Не выводит ничего, хотя вот данные из ресурса, который лежит в parents 14
        Array
        (
            [id] => 388
            [type] => document
            [contentType] => text/html
            [pagetitle] => «Сенат»: как защитить российских потребителей
            [longtitle] => 
            [description] => 
            [alias] => «senat»-kak-zashhitit-rossijskix-potrebitelej
            [link_attributes] => 
            [published] => 1
            [pub_date] => 0
            [unpub_date] => 0
            [parent] => 14
            [isfolder] => 0
            [introtext] =>  
            [richtext] => 1
            [template] => 7
            [menuindex] => 0
            [searchable] => 1
            [cacheable] => 1
            [createdby] => 1
            [createdon] => 1484129460
            [editedby] => 1
            [editedon] => 1488277887
            [deleted] => 0
            [deletedon] => 0
            [deletedby] => 0
            [publishedon] => 1484129340
            [publishedby] => 1
            [menutitle] => 
            [donthit] => 0
            [privateweb] => 0
            [privatemgr] => 0
            [content_dispo] => 0
            [hidemenu] => 0
            [class_key] => Ticket
            [context_key] => web
            [content_type] => 1
            [uri] => media/video/388.html
            [uri_override] => 1
            [hide_children_in_tree] => 0
            [show_in_tree] => 0
            [properties] => Array
                (
                    [tickets] => Array
                        (
                            [disable_jevix] => 
                            [process_tags] => 
                        )
        
                    [ms2gallery] => Array
                        (
                            [media_source] => 2
                        )
        
                )
        
            [in_home] => Да
            [idx] => 1
            [link] => 
        )
        Здесь виден TV [in_home] => Да
    Александр Мельник
    28 февраля 2017, 13:17
    0
    Но фишка то в том, что раньше работало.
      Никита
      28 февраля 2017, 17:10
      0
      Ты, скорее всего тулзы обновил. Не суть — «Да» и «Нет» — не сок вариант. Попробуй изменить в самом tv-поле значения, среди перечисленных возможных Да==1||Нет==0 и измени параметры выборки на in_home: 1. Единица литералом(без кавычек)! Это важно.
      UPD
      и не используй tvfilters. where надежнее
        Александр Мельник
        01 марта 2017, 15:36
        0
        Спасибо, Никита. Согласен, да и нет не лучшие варианты для логики компьютера, это наши человеческие аналоги 0 и 1. Так было сделано до меня и в общем-то работало.
        tvfilters не использовалось, выборка шла по условию where.
        Все таки прихожу ко мнению, что это глюки самого MODX.
        pdoResources стал выдавать «странные» результаты, если менять порядок параметров.
        Так к примеру в имена полей стали подмешиваться лишние символы.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7