Найти в Дзене
6 подписчиков

Как построить сложный WHERE в xPDO запросе MODX Revolution


В MODX Revolution для работы с базой данных используется библиотека xPDO. При построении запроса в ней можно добавить WHERE условие в виде массива. Например, получить ресурс с ID = 1:

$q = $modx->newQuery('modResource');
$q->where(array('id' => '1'));

Но иногда этого становится недостаточно для сложной выборки, и хочется просто взять и написать SQL вручную, чтобы не париться. Решение максимально простое — указать вместо массива обычную строку:

$q->where("id = 1");

Такая запись аналогична варианту с массивом, но упрощает жизнь при построении сложных условий, и в ней можно спокойно использовать весь синтаксис SQL.

Единственное, что нужно помнить — в таком формате данные не будут экранированы от SQL инъекций, если в эту строку подставлять пользовательские данные. Поэтому позаботиться о безопасности нужно самостоятельно.

Чтобы не пропускать полезности, подпишитесь на Телеграм канал Digital Сфера
Как построить сложный WHERE в xPDO запросе MODX Revolution  В MODX Revolution для работы с базой данных используется библиотека xPDO.
Около минуты