lmbCriteriaQuery - это абстрактный класс, который позволяет добавлять сложные условия в SQL-запросы. Наследуется от класса lmbTemplateQuery. lmbCriteriaQuery добавляет поддержку метки вида %where% в SQL-шаблон. Условия, добавляемые в запрос, реализуются в виде классов подсистемы Criteria.
Для добавления новых условий в запрос, используется метод lmbCriteriaQuery :: addCriteria($criteria), например:
$query->addCriteria(new lmbSQLRawCriteria('recipe_item.cocktail_id = cocktail.id')); $criteria = new lmbSQLFieldCriteria('ingredient.name', '%'.$name.'%', lmbSQLFieldCriteria :: LIKE); $query->addCriteria($criteria);
Для addCriteria() есть алиас where($criteria).
Если в качестве $criteria пришла обычная строка, то она будет автоматически обвернута в объект класса lmbSQLCriteria():
$query->where('recipe_item.cocktail_id = cocktail.id');
lmbSelectQuery, lmbUpdateQuery и lmbDeleteQuery наследуются от lmbCriteriaQuery.
Обсуждение