говорите, как будто люди сперва ORM открывают для себя, всякие ActiveRecord и DataMapper, думают о слоях приложения, а потом узнают, что можно запросы руками писать и думают, как же я раньше жил, забывают про ORM и начинают писать запросы руками «полностью контролируя процесс» )
Ссылку, которую я вам отправил костылем не является, она находится на другом уровне, вы же не в бизнеслогику эту будете запихивать
Этот объект будет создаваться доктриной где-то на уровне реализации конктреного драйвера СУБД, то есть скорее всего вам придется немного измененный такой же класс реализовать для другой СУБД (речь не про конкретно force index, а в целом), если хотите сделать приложение переносимым между скажем mysql и postgress
В бизнеслогике же вы просто получаете какую то коллекцию, обращаясь к репозиторию, вам вообще пофиг на все эти индексы, тут только объекты фигурируют
В репозитории уже уровень пониже, репозиторий доктриновский, он уже знает про индексы, хотя он не знает с какой базой он работает, поэтому он просто говорит «абстрактно», что нужно использовать такой то индекс, его не волнует, как это реализуется в текущей СУБД
Доктрина уже все знает о СУБД, она знает в какую базу сейчас нужно направить запрос, а если нужно использовать индекс, то она скажет конкретной СУБД на ее языке об этом
Вот теперь скажите мне, где душевность разработки больше?
Вот сейчас прямо как то «сладко» стало... прямо «сахаром» повеяло... ;))
Обсуждают сегодня