рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:
рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдмреВрд▓рд┐рдпрди рд▓реЙрдЬрд┐рдХ рдСрдкрд░реЗрд╢рдВрд╕ рджреНрд╡рд╛рд░рд╛ рдЬреБрдбрд╝реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдЖрдкрдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рджреЛрд╣рд░рд╛рд╡ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдирдХрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЖрдЬ, рджреЛ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ) рд╕рдлрд▓ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдпреЗ RulerZ рдФрд░ Happyr Doctrine Specification рд╣реИрдВ ред рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИрдВред рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рд╕рдВрдкреВрд░реНрдг рд▓реЗрдЦ рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХреНрдЯреНрд░рд┐рди рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЗрдВ рдирдИ рд░рд┐рд▓реАрдЬ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рд▓реЗрдХрд░ рдЖрдИ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬреЛ рд▓реЛрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╡реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╕реЗрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд░рдЪрдирд╛ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣, рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рдпрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдореА рд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИрдВред Doctrine Specification рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Doctrine Specification рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдбреЙрдХреНрдЯреНрд░рд┐рди рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди, рдбреЙрдХреНрдЯреНрд░рд┐рди рдУрдЖрд░рдПрдо рдХреНрд╡реЗрд░реАрдмрд░реНрд╕реНрдЯ рдФрд░ рдбреЙрдХреНрдЯреНрд░рд┐рди рдУрдЖрд░рдПрдо рдХреНрд╡реЗрд░реА рдкрд░ рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рд╕реНрддрд░ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ:
$result = $em->getRepository(MyEntity::class)->match($spec);
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ, рд╡реНрдпрд░реНрде рд╣реИред $spec = ... $alias = 'e'; $qb = $em->getRepository(MyEntity::class)->createQueryBuilder($alias); $spec->modify($qb, $alias); $filter = (string) $spec->getFilter($qb, $alias); $qb->andWhere($filter); $result = $qb->getQuery()->execute();
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
match
- рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;matchSingleResult
- Query::getSingleResult()
рдмрд░рд╛рдмрд░ Query::getSingleResult()
;matchOneOrNullResult
- matchOneOrNullResult
рдмрд░рд╛рдмрд░, рд▓реЗрдХрд┐рди null
рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;getQuery
- рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдПрдХ QueryBuilder рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рдХреНрд╡реЗрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, getQueryBuilder
рд╡рд┐рдзрд┐ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ QueryBuilder рдмрдирд╛рддрд╛ рд╣реИ рдФрд░, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреА рд╣реИ:
рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ
andX
рдФрд░ orX
рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
Spec::andX()
Spec::orX()
Spec::not()
рдпрд╣ Spec
рдореБрдЦреМрдЯрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╡рд╕реНрддреБ рдХреЛ рддреБрд░рдВрдд рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
new AndX(); new OrX(): new Not();
рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛
рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдирд┐рд░реНрджреЗрд╢, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рдирд┐рдпрдо рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ WHERE
рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рддреБрд▓рдирд╛рддреНрдордХ рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
isNull
- SQL IS NULL
рд╕рдорддреБрд▓реНрдп рд╣реИisNotNull
- SQL рдкреВрд░реНрдг IS NOT NULL
in
- IN ()
рдмрд░рд╛рдмрд░notIn
- NOT IN ()
рд╕рдорддреБрд▓реНрдп рдирд╣реАрдВeq
- рд╕рдорд╛рдирддрд╛ рдкрд░реАрдХреНрд╖рдг =
neq
- рдЕрд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ !=
lt
- рд╕реЗ рдХрдо <
lte
- <=
рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░gt
- рд╕реЗ рдЕрдзрд┐рдХ >
gte
- рд╕реЗ рдмрдбрд╝рд╛ рдпрд╛ рдмрд░рд╛рдмрд░ >=
like
- SQL LIKE
рд╕рдордХрдХреНрд╖- InstOfX - DQL рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреЗ рдмрд░рд╛рдмрд░
рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
$spec = Spec::andX( Spec::eq('ended', 0), Spec::orX( Spec::lt('endDate', new \DateTime()), Spec::andX( Spec::isNull('endDate'), Spec::lt('startDate', new \DateTime('-4 weeks')) ) ) );
рдХреНрд╡реЗрд░реА рд╕рдВрд╢реЛрдзрдХ
рдХреНрд╡реЗрд░реА рдореЙрдбрд┐рдлрд╛рдпрд░ рдХрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рдпрдореЛрдВ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╡реЗ рдХреЗрд╡рд▓ QueryBuilder рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдирд╛рдо рдФрд░ рдЙрджреНрджреЗрд╢реНрдп QueryBuilder рдореЗрдВ рд╕рдорд╛рди рддрд░реАрдХреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
join
leftJoin
innerJoin
limit
offset
orderBy
groupBy
having
рдореИрдВ slice
рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреА limit
рдФрд░ offset
рдХреЛ рдЬреЛрдбрд╝рддрд╛ limit
рдФрд░ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЗрд╕рдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдлрд╕реЗрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рд╕реЗ рдЕрд╕рд╣рдордд рдереЗред рдПрдХ рд╕рдВрд╢реЛрдзрдХ рдмрдирд╛рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкреГрд╖реНрдард╛рдВрдХрди рдХреЗ рджреМрд░рд╛рди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рдХреНрд╖реНрдп рдХрд╛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ 1 рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдкреГрд╖реНрда рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ 1 рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдореЗрдВ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╣реА рдорд╛рдирд╛, рдЕрд░реНрдерд╛рддреН, 0. рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред 0 рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВред
рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╢реЛрдзрдХ
рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╢реЛрдзрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдореМрдЬреВрдж рд╣реИрдВред рд╡реЗ рдбреЙрдХреНрдЯреНрд░рд┐рди рдХреНрд╡реЗрд░реА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдирд┐рдореНрди рд╕рдВрд╢реЛрдзрдХ рдбреЗрдЯрд╛ рдЬрд▓рдпреЛрдЬрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ ( Query::setHydrationMode()
):
asArray
asSingleScalar
asScalar
cache
рд╕рдВрд╢реЛрдзрдХ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдореЗрдВ рд╕рдВрд╢реЛрдзрдХ roundDateTimeParams
рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреИрд╢рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЗ рд╕рд╛рде рдХреБрдЫ рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╕рд╛рдп рдирд┐рдпрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╕рдордп рдПрдХ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИ, рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреИрд╢рд┐рдВрдЧ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред roundDateTimeParams
рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдореЗрдВ рддрд╛рд░реАрдЦ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рддрдХ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рддрд╛рд░реАрдЦ рдорд╛рди рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдореВрд▓реНрдп рдХреЗ рдЧреБрдгрдХ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рд╣рдо 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо Spec::cache(600)
рдФрд░ Spec::roundDateTimeParams(600)
ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЗрди рджреЛ рд╕рдВрд╢реЛрдзрдХ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ SRP рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдПрдВрдмреЗрдбреЗрдб рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ
рд╣реИрдкреНрдкреА рдбреЙрдХреНрдЯреНрд░рд┐рди-рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдФрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рдПрдХрдорд╛рддреНрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ countOf
рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдореВрд░реНрдд BaseSpecification
рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИред
рдирд╡рд╛рдЪрд╛рд░реЛрдВ
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ:
matchSingleScalarResult
- Query::getSingleScalarResult()
рдмрд░рд╛рдмрд░ Query::getSingleScalarResult()
;matchScalarResult
- Query::getScalarResult()
рдмрд░рд╛рдмрд░ Query::getScalarResult()
;iterate
Query::iterate()
рдХреЗ рд╕рдорддреБрд▓реНрдп рд╣реИ Query::iterate()
ред
MemberOfX
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ MemberOfX
- рдбреАрдИрдПрди рдХреЗ рд╕рдорддреБрд▓реНрдп MEMBER OF
рдФрд░ indexBy
рдХреНрд╡реЗрд░реА рд╕рдВрд╢реЛрдзрдХ рдХреЛ indexBy
- QueryBuilder::indexBy()
рдХреЗ рдмрд░рд╛рдмрд░ QueryBuilder::indexBy()
ред
рдСрдкрд░реЗрдВрдб
рдирдИ рд░рд┐рд▓реАрдЬ рд╕реЗ рдСрдкрд░реЗрдВрдб рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рд╣реЛрддрд╛ рд╣реИ ред рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рд╕рднреА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдСрдкрд░реЗрдВрдб рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдСрдкрд░реЗрдЯрд░ рд╣реЛрддреА рд╣реИрдВред
<left_operand> <operator> <right_operand>
рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдмрд╛рдПрдВ рдСрдкрд░реЗрдВрдб рдХреЗрд╡рд▓ рдПрдХ рдЗрдХрд╛рдИ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рд╣реА рдСрдкрд░реЗрдВрдб рдХреЗрд╡рд▓ рдПрдХ рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрд╕реА рд╕рдордп, рдпрд╣ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ:
- рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде;
- рдЦреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ;
- рджреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ;
- рджреЛ рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ;
- рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде;
- рдорд╛рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдСрдкрд░реИрдВрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рддрд░реНрдХреЛрдВ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ DQL рдореЗрдВ рдЙрдирдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдСрдкрд░реЗрдВрдб рдХреЛ рд╕реНрд╡рдпрдВ рд╕реМрдВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрдИ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд▓реНрдЯрд░ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдХреНрд╖реЗрддреНрд░ рдФрд░ рдореВрд▓реНрдп
рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рдлрд╝реАрд▓реНрдб рдСрдкрд░реЗрдВрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдПрдХ рдСрдкрд░реЗрдВрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рддрд░реНрдХ рдорд╛рди рдСрдкрд░реЗрдВрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЖрдк 2 рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ 2 рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди
рдорд╛рдирдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рд╕рдорд░реНрдерди -
, +
, *
, /
, %
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд┐рдВрджреБрдУрдВ рдХреА рдЧрдгрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
рдХрд╛рд░реНрдпреЛрдВ
рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдиреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрдВрдб рдХреЛ рдЬреЛрдбрд╝рд╛ред рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╛ Spec::fun()
рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдЕрд▓рдЧ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдХреЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдирдореВрдирд╛ рдкреНрд░рдмрдВрдзрди
рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рд░рд┐рдЯрд░реНрди рдорд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЗрдХрд╛рдИ рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рди рдмрдирд╛рдПрдВ;
- рдкреВрд░реА рдЗрдХрд╛рдИ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ;
- рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
- рдЫрдВрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдЫрд┐рдкреЗ рд╣реБрдП рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрдЯреНрд░рд┐рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ )ред
рд╕рдВрд╕реНрдХрд░рдг 0.8.0 рд╕реЗ рдкрд╣рд▓реЗ, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд╕рдВрд╕реНрдХрд░рдг 0.8.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдЖрдк getQueryBuilder()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ QueryBuilder рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрдпрди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирдпрд╛ рд░рд┐рд▓реАрдЬрд╝ 1.0.0 select
рдФрд░ addSelect
рдЕрдиреБрд░реЛрдз addSelect
рдЬреЛрдбрд╝рддрд╛ рд╣реИред select
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдФрд░ addSelect
рд╕реВрдЪреА рдореЗрдВ рдирдП рдорд╛рди рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдПрдХ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Selection
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрди рдЕрд╡рд╕рд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реИрдВред
рдЖрдк рдПрдХ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдЪрдпрди рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рджрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдХрд╛рдИ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдЪрдпрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдЪрдпрди рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рдкрд░ рдЫреВрдЯ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рднрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рд╣реИред рдпрд╣реАрдВ рд╕реЗ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдЕрдВрдд рд╣реЛрддрд╛ рд╣реИред рдирдИ рд░рд┐рд▓реАрдЬ рдиреЗ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд▓рд╛ рджреА рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдкрдХреА рд░реБрдЪрд┐ рдХреА рд╣реЛрдЧреАред
рдкреБрдирд╢реНрдЪ: рдореИрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдпрд╛ рдкреАрдПрдо рдореЗрдВ рд▓рд┐рдЦреЗрдВред