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 Сфера
Около минуты
3 января 2023