Есть ли у Doctrine2 функции, подобные ActiveRecord's named scopes?Есть ли аналог сферы видимости для Doctrine2?
0
A
ответ
2
В D2 нет ни одного запеченного, но, вероятно, это не будет слишком большой частью для реализации системы, подобной Yii, с использованием класса QueryBuilder Doctrine 2, который позволяет построить запрос на куски, используя более программный подход.
$qb = $em->createQueryBuilder;
$qb->select('u')
->from('User', 'u')
->where('active IS NOT NULL);
Оказывается, что магазины по реализации YII в запрос критерии в массиве, и они вводятся в запросе, когда используется именованная. Вы можете легко сделать что-то подобное, которое возвращает объект QueryBuilder с предварительно загруженными параметрами.
class UserRepository extends EntityRepository
{
private $_namedScopes;
public getActiveUsersWhoLoggedInLastWeek()
{
// return a query builder for this model
$qb = $this->_namedScopes->initScope();
// start adding pre-defined criteria
$qb = $this->_namedScopes->addScope($qb, 'active')
$qb = $this->_namedScopes->addScope($qb, 'lastWeek');
return $qb->getQuery()->getResult();
}
}
Возможно, существует несколько разных способов приблизиться к этому, так что это всего лишь один быстрый пример. Трудная часть, вероятно, будет выяснять, как справляться с столкновениями с критериями.
0
Смежные вопросы
- 1. Есть ли аналог whoami для Docker?
- 2. Есть ли аналог M2_HOME для sbt?
- 3. Есть ли аналог Julia для numpy.argmax?
- 4. Есть ли аналог seccomp для Windows
- 5. Есть ли Java-аналог для супервизора
- 6. Есть ли аналог dh_make для пакетов rpm
- 7. Doctrine2 - есть ли предварительный отбор?
- 8. Есть ли аналог spyOn в QUnit?
- 9. Есть ли аналог умножения Integer :: sum?
- 10. Есть ли .Net-аналог функций, предоставляемых java.lang.instrument?
- 11. Есть ли C# аналог java.util.Properties класс
- 12. Есть ли аналог lsode в Boost OdeInt?
- 13. Есть ли жизнеспособный аналог DCOM в .NET?
- 14. Есть ли аналог ExceptionDispatchInfo в Microsoft.Bcl.Async?
- 15. Есть ли аналог .apk в ios
- 16. Есть ли аналоговый аналог модуля Bisect Python?
- 17. Есть ли в Kotlin аналог didSet/willSet?
- 18. DirectX - есть ли аналог поверхности DirectDraw Flip()?
- 19. Есть ли аналог этого рубинового метода?
- 20. Есть ли аналог Java IllegalStateException в Python?
- 21. Есть ли .net-аналог библиотек Boost?
- 22. Есть ли аналог счетчика Питона в Эликсире?
- 23. Есть ли аналог tk.IntVar() в wxPython?
- 24. Есть ли какой-либо C# аналог Node.js?
- 25. Почему мой массив выходит из сферы видимости?
- 26. Есть ли что-то вроде «вне сферы видимости» в C#? И некоторые связанные вопросы
- 27. Есть ли аналог объекта Object.defineProperty для определения переменных?
- 28. Есть ли аналог «executemany» для R и RSQLite?
- 29. Есть ли аналог для атрибута «содержание» микроданных в микроформатах?
- 30. есть ли COMMIT-аналог в python для записи в файл?
Также фреймворка есть они http://www.yiiframework.com/doc/guide/1.1/en/database.ar#named-scopes – Koc