lmbCriteriaQuery

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.