- 
                Notifications
    
You must be signed in to change notification settings  - Fork 52
 
Ru:criteria
        AlexeyDsov edited this page Apr 18, 2011 
        ·
        28 revisions
      
    Criteria - класс, позволяющий получать список бизнес объектов, единичный объект, списки полей полей объектов или производные полей. В отличие от просто OSQL Criteria больше оперирует в условиях не полями таблицы, а именно property'ями объектов.
Простейшее получение списка всех бизнес-объектов класса MyBook:
<?php
Criteria::create(MyBook::dao())->getList();
?>Запрос в базу при этом будет примерно такой:
SELECT id, name, color, author_id FROM book;Критерии поддерживают возможность выборки объектов по параметрам. Для этого в критерию через метод add нужно добавить какой-либо LogicalObject. Например необходимо получить все книги белого цвета:
<?php
Criteria::create(MyBook::dao())->
	add(Expression::eq('color', DBValue::create('white')))->
	getList();
?>Запрос в базу будет иметь вид:
SELECT id, name, color, author_id FROM book WHERE color = "white";Примечания:
- Запросы в базу упрощены, из них убраны кавычки и алиасы
 - Подсмотреть выдуманную мету для объектов из примеров можно здесь