В PHP все ORM разделяются на 2 класса. Разнятся они основным шаблоном проектирования, взятым за основу, а именно
- DataMapper (Doctrine ORM (Symfony2), Spot ORM)
- ActiveRecord (Propel ORM, Eloquent ORM(Laravel), Yii Active Record, Gas ORM, PHPixie)
1 - Sport ORM, Doctrine ORM основаны на Doctrine DBAL который так же можно юзать отдельно, без самой ORM. Doctrine ORM дает немного больше возможности где развернуться и является более сложным и соответственно тяжелым решением, использовать которое для небольших сайтов не имеет особого смысла. ORM такого тип отлично подходят для средних и почти больших сайтов :D
2 - Всё что с ActiveRecord на борту за частую является немного проще как архитектурно так и в обращении. Отлично подходят ORM такого типа для небольших и средних сайтов. При работе с ними любая манипуляция с сущностью это работа с записью в таблице.
ActiveRecord ORM отлично подходит для небольших сайтов.
Для крупных же порталов/сайтов/сервисов на мой взгляд подходит только Plain SQL без большинства наворотов предоставляемых ORM'ками, т.к на них уходит много ресурсов, появляются лишние запросы, много уходит на гидрацию в объекты и т.д.