У меня есть объект (например, ниже). Я хочу установить некоторые значения по умолчанию при создании. Как вы можете видеть в __construct , легко установить $name (string), но как я могу установить $group ? (например, я знаю, что в базе данных есть группа с id=122 ) /** * @ORM\Entity */ class Person { private $id; /** […]
Я застрял в запросе изначально очень простого доктрины 2. У меня есть объект под названием Категория, у которого есть отношение OneToMany с самим собой (для родительских и дочерних категорий). /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="children") */ private $parent; /** * @ORM\OneToMany(targetEntity="Category", mappedBy="parent") */ private $children; Следующий запрос $q = $this->createQueryBuilder('c') ->leftJoin('c.children', 'cc') ->select('c.name as title, cc') ->where('c.parent […]
Я использую Zend, Doctrine2.1 и AnnotationForms. Мой объект выглядит следующим образом: /** * @ORM\Entity * @ORM\Table(name="myentity") * @Form\Name("myentity") * @Form\Attributes({ "class": "form-horizontal" }) * @Form\Hydrator("\DoctrineModule\Stdlib\Hydrator\DoctrineObject") */ class MyEntity { … } При использовании этого DoctrineObject я получаю следующую ошибку: Допустимая фатальная ошибка: аргумент 1 передан DoctrineModule \ Stdlib \ Hydrator \ DoctrineObject :: __ construct […]
Кто-нибудь знает, как издеваться над доктриной PersistentCollection? Когда я пытаюсь и издеваться над классом напрямую с помощью PHPUnit и Mockery, я получаю исключение, которое гласит: Mockery\Exception: The class Doctrine\ORM\PersistentCollection is marked final a его методы не могут быть заменены. Классы, помеченные как final, могут быть переданы в \ Moc kery :: mock () в качестве […]
Таким образом, у меня есть несколько объектов, которые используют мой SluggableTrait , который содержит поля name и SluggableTrait вдоль его методов. trait SluggableTrait { /** * @var string * @ORM\Column(type="string", length=255, nullable=true) */ private $name; /** * @var string * @ORM\Column(type="string", length=255 * @Gedmo\Slug(fields={"name"}, updatable=false)) */ private $slug; /** * Set name * * @param […]
Я надеюсь, что вы можете помочь 🙂 Вот как выглядит таблица: +————+—————-+——————+———+ | firstName | lastName | email | etc… | +————+—————-+——————+———+ | John | Doe | john@doe.com | etc… | +————+—————-+——————+———+ | John | Michaels | john@michaels.es | etc… | +————+—————-+——————+———+ Вот как выглядит код: if($_GET['search-customers'] != '') { $busqueda = $_GET['search-customers']; $query->andWhere("(c.firstName LIKE […]
У меня две таблицы, db1.Contact и db2.Recipient. Каждый получатель должен быть контактом, поэтому у меня есть внешний ключ, установленный между двумя таблицами в поле db1.Contact.ContactID. Я представляю это в Recipient.php со следующей аннотацией: /** * @ORM\Id * @ORM\ManyToOne(targetEntity="\db1\Contact") * @ORM\JoinColumn(name="ContactID", referencedColumnName="ContactID") **/ private $Contact; Для этого мне не нужен код в Contact.php. Когда я создаю […]
Когда я пытаюсь выполнить функцию mysql STR_TO_DATE с построителем запросов Doctrine, symfony2 генерирует исключение: Ошибка: ожидаемая известная функция, полученная 'STR_TO_DATE' Мой код: STR_TO_DATE(m.metaValue, '%m/%d/%Y') BETWEEN '".$filter["sDate"]["month"]."/01/".$filter["sDate"]["year"]."' AND '".$filter["eDate"]["month"]."/01/".$filter["eDate"]["year"]."'" Как я могу заставить его работать?
Мне нужна помощь в понимании того, как cascade работает с ассоциациями сущностей Symfony2, в частности с опцией «удалить». Потому что, когда я пытаюсь удалить объект, существует конфликт внешнего ключа базы данных и он не будет удаляться из базы данных. У меня есть два объекта тестирования: /** * @ORM\Entity * @ORM\Table(name="test") */ class Test extends Entity\Base […]
У меня есть два подключения в файле config.yml doctrine: dbal: default: connection2 Тогда в моем классе я использую это $em = $this->container->get('doctrine')->getEntityManager(); Но он получает соединение по умолчанию. Как я могу использовать второе соединение Возможно ли, что я могу использовать его из службы.