Pdoresources, ошибка в where
        Добрый день!
Например, это
Возвращает такую ошибку:
При этом, например, вот так
Не уверен, что я все делаю правильно, но, насколько мне известно, использование строковых функций в where допускается?
    
    
                                                                                
            Например, это
&where=`{"LEFT(route_max, 6):=":"Moscow"}`Возвращает такую ошибку:
0.0005219: Could not process query, error #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TVroute_max`.`value`, 6)` = 'Moscow' AND `modResource`.`parent` IN (169,242,243,' at line 1При этом, например, вот так
&where=`{"route_max:LIKE":"%Moscow%"}`все работает нормально.Не уверен, что я все делаю правильно, но, насколько мне известно, использование строковых функций в where допускается?
Комментарии: 6
                Попробуй так:
                    &where=`["LEFT(route_max, 6) = 'Moscow'"]`            
                Спасибо!
Пробую:
                    Пробую:
&where=`["LEFT(route_max, 6):NOT LIKE":"%Moscow%"]`В этом случае запрос формируется вот так:WHERE  ( `modResource`.`parent` IN (169,242,243,246,247,248) AND `modResource`.`deleted` = 0 )Как видишь, условие в него не попадает — он выводит вообще все записи.            
                Посмотри еще раз внимательно на то, что написал я, и что ты.
Подсказка — у меня нет двоеточий.
                    Подсказка — у меня нет двоеточий.
                Да, вижу, извини. 
Но если в таком виде
            
                    Но если в таком виде
&where=`["LEFT(route_max, 6) = 'Moscow'"]`то еще в админке MODX ошибку выдает синтаксическую. 
            
                Обожемой. Нужно научить экранировать ковычки в php коде?
Ну и если уж ты пишешь php, то и вызывай через runSnippet:
                    Ну и если уж ты пишешь php, то и вызывай через runSnippet:
$x = $modx->runSnippet('pdoResource', array(
	'parents' => 169,
	'where' => array('LEFT(route_max, 6) = "Moscow"'),
	//и тд
));
echo $x;            
                Вот же блин! 
Конечно же:
                    Конечно же:
&where=`["LEFT(route_max, 6) = \"Moscow\""]`Все работает, спасибо!            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.