Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   PHP ORMs - вопросы по Doctrine (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/php-orms-voprosy-po-doctrine-385450/)

Guest 16.10.2011 14:38

PHP ORMs - вопросы по Doctrine
 
1. Есть люди, называющие таблички с префиксом проекта, то есть допустим проект у нас зовется murzik и таблицы в БД названы соответственно murzik_article, murzik_user, murzik_issues. Оставляя в стороне адекватность таких наименований, Propel вполне себе способен исправить эту беду используя опцию phpName, где мы уже на уровне ORM определяем что класс статьи у нас зовутся Article и выборка будет осуществляться как Article::doSelect(...), а не $artsCreatedToday = Doctrine_Core::getTable('murzik_article' )->getCreatedToday();Или я не прав и в getTable идет пареметром не имя таблицы, а алиас, который где-то мапится?2. Есть ли аналог Criteria, для универсального метода уточнения запроса?К примеру:// все котята, которых можно продатьCat::doSelectSellableKittens();// только зеленоглазые$c = new Criteria();$c->add(KittenPeer::EYE_COLOR, 'green');Cat::doSelectSellableKittens($c );3. Есть ли общая точка выполнения запроса, такая как doSelectStmt в Propel, где я могу для всего аппликейшена устроить фильтрацию по своему усмотрению?4. Смогу ли я используя Doctrine прозрачно для всей модели сменить в базе название поля, ограничившись лишь правкой маппинга имени поля в классе таблицы? Пример, как это устроено в Propel:


Часовой пояс GMT, время: 18:14.


© www.otvetnemail.ru - Форум вопросов и ответов.