Можно ли использовать агрегированные значения в запросе Doctrine_RawSql? Вот что я пытаюсь сделать: $q = new Doctrine_RawSql(); $q->select('{q.*}, AVG(a.value) AS avg'); $q->from('– complex from clause'); $q->addComponent('q', 'Question'); Однако SQL, созданный Doctrine, оставляет только столбцы из question таблицы и опускает агрегированное значение avg .
Мой слушатель является частью поведения, который должен удалить все is_published проверки в предложении where любого вызываемого запроса select. Добавление части в предложение очень просто, но как ее удалить. Существуют некоторые функции, такие как Doctrine_Query->removeDqlQueryPart('where') , но это устраняет предложение complete where, в то время как мне нужно только 'is_published = ?' часть должна быть удалена. […]
У меня возникли проблемы с вложением нескольких двух операндов $or операций в пределах $and операции. Заключение этого обсуждения похоже на то, что мне нужно, но я не могу заставить его работать. Вот JavaScript того, что я пытаюсь сделать: db.Business.find( { $and: [ { $or: [{nm: /American/}, {dsc: /American/}] }, { $or: [{nm: /Mega/}, {dsc: /Mega/}] […]
Я видел множество сравнений доктрины против Propel, но никто из них не убедил меня выбрать Доктрину над Propel. Я использую Propel какое-то время, и почти каждое сравнение, которое я читаю, гласит, что Propel плохо документирован как первая проблема, и я прочитал документы Propel, и они неплохие. Кроме того, большинство сравнений датируются (с использованием Propel 1.5+). […]
У меня возникли проблемы с выполнением Doctrine DQL Query. Это ошибка, которую она мне дает. Doctrine\Common\Annotations\AnnotationException: [Syntax Error] Expected PlainValue, got 'integer' at position 13 in property Base\Session::$lifetime. Мой код выглядит так: $query = $em->createQuery("SELECT s FROM Base\Session s WHERE s.session = \"$id\""); Где $ id – текущий session_id. Моя модель выглядит так: namespace Base; […]
Я не могу найти упоминания в документации Doctrine о том, как проверить, имеет ли сущность существующее отношение к другому объекту: http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html В Doctrine 1.x существует метод, называемый exists который может быть вызван сущностью, чтобы проверить это: http://www.doctrine-project.org/documentation/manual/1_2/en/working-with-models#dealing-with-relations:clearing-related-records В Doctrine 2.0 это то, что я обычно делал. Какие методы используют другие люди? <?php class Group { […]
Я пытаюсь использовать регулярные выражения, чтобы запросить Mongodb с помощью Doom's Mongodb ODM на Symfony 2. Я знаю, что драйвер PHP mongo может это сделать . Однако я не знаю, как это сделать с Доктриной. Я использую тот же класс? Как я могу ссылаться на MongoRegex из Symfony?
Я пытаюсь настроить ассоциацию сущностей «один-на-один-много-один-один» в Doctrine 2.0. Поскольку мне нужно поле «читать» в таблице ассоциации user_message, у меня есть 3 объекта. User.php namespace Console\Entity; use Doctrine\Common\Collections\ArrayCollection; /** * @Entity(repositoryClass="Console\Repository\User") * @Table(name="user") */ class User { /** * @Id * @GeneratedValue * @Column(type="integer") */ protected $id; /** * @OneToMany(targetEntity="Message", mappedBy="users", cascade={"all"}, orphanRemoval=true) * @JoinTable(name="user_message", […]
У меня возникли проблемы с расшифровкой этого блока кода из документации доктрины /** @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; // … } ниже показано, как я расшифровываю одно-много двунаправленное отношение […]
Я использую доктрину 2.1, чтобы создать модель для таблицы settings : id | arg | value | category 1 | name | foo | general_settings 2 | desc | bar | general_settings Предположим, что у меня много настроек для разных категорий. Чтобы получить все настройки для определенной категории, я делаю что-то вроде этого: $q = […]