MZZ.Framework 0.3.x: Документация
Разделы

6.3 Операторы в генераторе

Для оперирования операторами mysql в запросе используется класс sqloperator. Этот класс поддерживает вложенное использование операторов, а также автоматический контроль приоритетов операторов (путём добавления в нужные места скобок).Приведём несколько примеров использования, характеризующие типичное применение этого класса (естественно, наиболее полный набор вариантов использования можно посмотреть в тестах на этот класс):

<?php
 
// примитивный оператор
$sqlOperator = new sqlOperator('+', array(1, 2));
echo $sqlOperator->toString(); // 1 + 2
 
// использование с несколькими операндами
$sqlOperator = new sqlOperator('-', array('table.field', 'field2', 1 , 2));
echo $sqlOperator->toString(); // `table`.`field` - `field2` - 1 - 2
 
// организация вложенности
$operatorNested = new sqlOperator('+', array(1, 2));
$operatorNested2 = new sqlOperator('/', array($operatorNested, 'field'));
 
$sqlOperator = new sqlOperator('*', array($operatorNested2, $operatorNested));
echo $sqlOperator->toString(); // ((1 + 2) / `field`) * (1 + 2)
 
// использование совместно с sqlFunction
$sqlOperator = new sqlOperator('-', array(new sqlFunction('NOW'), new sqlOperator('INTERVAL', array('1 DAY'))));
echo $sqlOperator->toString(); // NOW() - INTERVAL 1 DAY
 
?>