Я хочу получить и установить дату, используя свой собственный формат даты ( dd / mm / yyyy ), а не doctrine ( yyyy-mm-dd ). Я нашел способ, определяющий getter и setter для каждого поля даты, но я хочу сделать это более удобным способом ( 1 setter + 1 getter для каждого поля даты в каждой […]
Я пытаюсь заставить symfony использовать собственный класс jsDoctrineRecord вместо sfDoctrineRecord для своих моделей. Вот код для переопределяющего класса: <?php abstract class jsDoctrineRecord extends sfDoctrineRecord { public function foo() { echo 'foo';exit; } } Вот что я имею в config/ProjectConfiguration.class.php , в соответствии с инструкциями здесь : <?php require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php'; sfCoreAutoload::register(); class ProjectConfiguration extends sfProjectConfiguration { […]
Этот фрагмент с официального сайта работает так, как ожидалось: $treeObject = Doctrine::getTable('Category')->getTree(); $rootColumnName = $treeObject->getAttribute('rootColumnName'); foreach ($treeObject->fetchRoots() as $root) { $options = array( 'root_id' => $root->$rootColumnName ); foreach($treeObject->fetchTree($options) as $node) { echo str_repeat(' ', $node['level']) . $node['name'] . "\n"; } } Но я вижу, что в базу данных отправляются десятки запросов. Как я могу сделать […]
У меня есть запрос в MySQL: SELECT * FROM ( SELECT COUNT(*) AS count, t.name AS name FROM tag t INNER JOIN video_has_tag v USING (idTag) GROUP BY v.idTag ORDER BY count DESC LIMIT 10 ) as tags ORDER BY name и я хочу написать это в доктрине. Как я могу это сделать? Я написал: […]
У меня возникли проблемы с расшифровкой этого блока кода из документации доктрины /** @Entity */ class User { // … /** * @ManyToMany(targetEntity="User", mappedBy="myFriends") */ private $friendsWithMe; /** * @ManyToMany(targetEntity="User", inversedBy="friendsWithMe") * @JoinTable(name="friends", * joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")}, * inverseJoinColumns={@JoinColumn(name="friend_user_id", referencedColumnName="id")} * ) */ private $myFriends; // … } ниже показано, как я расшифровываю одно-много двунаправленное отношение […]
У меня есть этот код: $entityManager->clear('Reza\MyBundle\Entity\ListItem'); $identity = $entityManager->getUnitOfWork()->getIdentityMap(); foreach ($identity as $class => $objectlist) { if ($class == 'Reza\MyBundle\Entity\ListItem') { print "didn't fully clear, exiting..\n "; exit; } } Вы могли бы подумать, что после того, как я перейду в класс, чтобы очистить, вы больше не должны видеть эти объекты в единице работы, но, […]
У меня есть два класса – Страница и SiteVersion, которые имеют много-много отношений. Только SiteVersion знает об отношениях (потому что сайт является модульным, и я хочу убрать и отбросить модуль, к которому принадлежит SiteVersion). Как я могу поэтому выбирать страницы на основе критериев SiteVersion? Например, это не работает: SELECT p FROM SiteVersion v JOIN v.pages […]
Я пытаюсь настроить Zend Framework и Doctrine. Это предыдущее обсуждение с ZF 1.8 Интеграция доктрины с приложением Zend Framework 1.8 В этом обсуждении не учитывается система AutoLoader / Bootstrap. Если я сгенерирую скелет приложения с ./zh.sh, как бы я хотел интегрировать Doctrine.
Я использую доктрину 2.1, чтобы создать модель для таблицы settings : id | arg | value | category 1 | name | foo | general_settings 2 | desc | bar | general_settings Предположим, что у меня много настроек для разных категорий. Чтобы получить все настройки для определенной категории, я делаю что-то вроде этого: $q = […]
Я использую логическое расширение Loggable для регистрации изменений в моих сущностях. Я хочу также вносить изменения в отношения manyToMany. Я хочу показать пользователю такой журнал изменений: +————————————————–+ | Article "My Article" change log: | +——-+————+—————————–+ | Who | When | What | +——-+————+—————————–+ | Admin | 2015-07-01 | Removed tags "tag1", "tag2" | | Admin […]