Articles of Доктрина

Doctrine 2.0 ReflectionException, когда я пытаюсь сделать YAML-сопоставление

У меня в моем cli-config.php этот код: $driverImpl = new \Doctrine\ORM\Mapping\Driver\YamlDriver(array(__DIR__.'/yaml')); $driverImpl->setFileExtension('.yml'); $config->setMetadataDriverImpl($driverImpl); В ./yaml есть файлы yml (Client.yml, Worker.yml, Company.yml) Когда я запускаю файл для генерации в db схемы с этим инструкцией: php doctrine orm:schema-tool:create броски: PHP Warning: class_parents(): Class Client does not exist and could not be loaded in applicationPath\system\application\libraries\Doctrine\ORM\Mapping\ClassMetadataFactory.php on line 222 […]

доктрина dbal querybuilder как подготовленный оператор

Я пытаюсь создать объект Builder запроса DBQL и установить в нем параметр. (с использованием postgres db, dbal 2.3.4, доктрины $connection = $this->_em->getConnection(); $qb = $connection->createQueryBuilder(); $qb->select('tbl_user_contract.pkid AS pkid'); $qb->from('tbl_user_contract', 'tbl_user_contract'); $qb->join('tbl_user_contract', 'tbl_user', 'tbl_user', 'tbl_user_contract.fk_user = tbl_user.pkid'); $qb->where('tbl_user.pkid = :userid'); $qb->setParameter(':userid', 10); Когда я пытаюсь получить результаты этого объекта querybuilder, я получаю следующую ошибку: SQLSTATE[08P01]: <<Unknown […]

Как внутреннее соединение работает с отношениями «многие ко многим» с помощью Doctrine и Symfony2

Недавно я разработал проблему с запросом ManyToMany соединений отношений ManyToMany , решение было таким же, как и этот ответ, и ManyToMany вопросом, как это работает. скажем, у меня есть простые отношения ManyToMany между groups и team , будут groups_team таблицы groups_team которые будут автоматически созданы здесь группы /** * Groups * * @ORM\Table(name="groups") * @ORM\Entity(repositoryClass="AppBundle\Model\Repository\GroupsRepository") […]

Почему псевдоним столбца не работает в доктрине?

Мой сценарий выглядит так: $query = Doctrine_Query::create () ->select('count(p.product_id) as num_a') ->from ( 'ProductComments p' ) ->groupBy('p.product_id') ->having('num_a =2 '); И сгенерированный sql: SELECT COUNT(i.product_id) AS i__0 FROM productcomments i GROUP BY i.product_id HAVING num_a=2 Таким образом, я получаю сообщение об ошибке при выполнении sql. У меня есть два вопроса: почему псевдоним таблицы 'i' вместо […]

Не найдено ни одного результата для запроса, хотя ожидалась хотя бы одна строка

У меня есть следующий код: /** * Search similar category given a string * * @param $searchTerm search similar category */ public function findOneSimilarCategory($searchTerm) { $query = $this->createQueryBuilder('secondLevelCategory') ->select('secondLevelCategory') ->where('secondLevelCategory.categoryTitle LIKE :searchTerm') ->setParameter('searchTerm', $searchTerm) ->getQuery(); $query->useResultCache(true, self::CACHE_RESULT_LIFETIME, md5(__METHOD__ . serialize('category-search-' . $query->getParameters()))); $query->useQueryCache(true); return $query->getSingleResult(); } однако это дает мне ошибку: « PHP message: PHP […]

Doctrine 2 DQL – выберите строки, в которых поле «много ко многим» пуст?

В этом примере у меня есть два класса – DeliveryMethod и Country. У них есть много-много отношений друг с другом. Что я хочу сделать, это выбрать все методы доставки, которые не имеют каких-либо стран, сопоставленных с ними. Я могу сделать обратное, то есть выбрать все методы доставки, в которых есть как минимум одна страна – […]

Захват исключений базы данных в Symfony2

У меня есть случайная проблема, которую я не могу сузить. Иногда я получаю следующую ошибку в приложении Symfony2: Uncaught Exception: Исключено в драйвере: SQLSTATE [08004] [1040] Слишком много соединений {"type": 1, "file": "/ var / www / symfony / vendor / doctrine / dbal / lib / Doctrine / DBAL / Водитель / AbstractMySQLDriver.php», "линия": […]

Отключение, кеширование и слияние доктрины

Я нахожусь в Доктрине 2.3. У меня есть следующий запрос: $em->createQuery(' SELECT u, c, p FROM Entities\User u LEFT JOIN u.company c LEFT JOIN u.privilege p WHERE u.id = :id ')->setParameter('id', $identity) Затем я беру это, получаю результат (который представляет собой массив, я просто беру первый элемент) и запускаю detach $em->detach($result); , Когда я выхожу […]

Объект объекта Doctrine для массива

Хочет преобразовать объект entrine объекта doctinary в обычный массив, это мой код до сих пор, $demo = $this->doctrine->em->find('Entity\User',2); Получение объекта объекта, Entity\User Object ( [id:Entity\User:private] => 2 [username:Entity\User:private] => TestUser [password:Entity\User:private] => 950715f3f83e20ee154995cd5a89ac75 [email:Entity\User:private] => test@test.com [firm_id:Entity\User:private] => Entity\Firm Object ( [id:Entity\Firm:private] => 16 [company_name:Entity\Firm:private] => TestFirm [company_detail:Entity\Firm:private] => India [created_at:Entity\Firm:private] => DateTime Object ( […]

Слияние Doctrine: всегда обновляется поле DateTime

Я создаю новый Entity с существующим Id , и я хочу обновить соответствующую запись базы данных. Doctrine merge был моим лучшим другом: узнает, есть ли изменения и генерирует правильный запрос на обновление. $entity = new Entity(); $entity->setId(1); $entity->setName('test'); $EntityManager->merge($entity); $EntityManager->flush(); Предположим, что элемент с id = 1 уже существует в db: если имя отличается от […]