我有以下(示例性)查询:
SELECT *
FROM User u
LEFT JOIN section_user su ON (su.user_id = u.id AND su.section_id = 3)
WHERE section_id is null
我试图使用查询构建器在Symfony2中对用户和区段之间的多对多关系进行重新构建,但我失败了。
我认为它应该是这样的,这被证明是错误的:
$er->createQueryBuilder('u')
->leftJoin('u.sections', 's', 'WIT
我不知道如何在两个包之间建立实体关系。
到目前为止,我最接近成功的是:
用户实体
<?php
namespace Acme\AuthBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
* @ORM\Table
所以我正在做一个在symfony 3.0.1的项目。我已经生成了实体(通过doctrine:generate:entity生成了以下交互式设置问题),然后通过doctrine:schema:update --force从Doctrine实体生成DB中的表。然后我进入实体并创建了协会。在那之后,我又做了一个doctrine:schema:update -- force,在签入phpMyAdmin之后,我强制的模式更新没有创建任何关系。
还有什么东西我遗漏了吗?见下面我的实体:
namespace MyAppBundle\Entity;
use Doctrine\ORM\Mapping as O
不确定这里的标题是否有点模糊,但基本上我试图从数据库中获取数据,但我需要引用一个连接表,它没有自己的实体,因为它只在另一个实体中引用。
这是我的装备。我有一个Symfony2项目,我在数据库中有一个阶段列表,每个阶段可以在一个或多个类别中。我需要从一个特定的类别抓取所有阶段,并按它们的相关排序顺序进行排序。如果我是在mySQL中直接这样做的话,我会写:
SELECT s.stage FROM stage s LEFT JOIN stage_category sc ON sc.stage_id = s.id WHERE sc.category_id = 1 ORDER BY s.sort_ord
我正在使用Doctrine 2,我想出了这样的情况:我只想在少数类型的用户中执行一些查询。
Type Status Active
UserA 0 0
UserB 0 1
UserC 1 1
UserD 1 0
我想要做的所有查询都涉及用户A、用户C和用户D。一个例子是下一个查询:
public function countMonth(){
$date = new \Datetime('now');
$newDate = $date->format('Y
我正在尝试为我的项目构建一个事件侦听器,并遵循本指南的说明:我像在教程中一样编辑了我的services.xml,但是当我想要测试它时,我得到了这个错误消息:
InvalidArgumentException: There is no extension able to load the configuration for "doctrine:config" (in /var/www/symfony/src/Acme/AppBundle/DependencyInjection/../Resources/config/services.xml). Looked for namesp
这是我想要使用Doctrine2实现的查询:
SELECT d1_.codeLieu AS codeLieu1, d1_.nomLieu AS nomLieu2, d1_.lngLieu AS lngLieu3, d1_.latLieu AS latLieu4, m2_.libelleMention AS libelleMention5, t3_.libelleType AS libelleType6, COUNT( b0_.id ) AS sclr0
FROM Delegation d1_
INNER JOIN EtablissementBac e5_ O
我没有通过Symfony的文档和google找到任何解决方案。我只找到从零开始一个应用程序的东西。
我有一个很大的框架应用程序,我希望慢慢地迁移到Symfony2。我没有方便从零开始构建一个新的应用程序。直到现在,我将整个symfony文件夹克隆到我自己的框架应用程序的根文件夹中。我是通过直接实现它来使用Doctrine的,用白色处理Symfony,如下所示。
<?php
namespace QueryBuild\Helpers;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
class Listing
{
我有一个MySQL查询,我想将它转换为Doctrine所理解的查询。
SELECT name from users where project = 10 and (classification = 12
or classification is null)
所以我试着把它转化为教义,但它不起作用。
$query->AndWhere('users.classification = :classification');
$query->setParameter(':classification', $classification);
$query-&g
在我的主计长中,我有这么多“使用”语句:
Controller.php
namespace App\Controller;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle
我试图将这个SQL查询构建到查询构建器中,但是当添加一个连接时,它被破坏了。如果我去掉join,它就可以工作了,但是在Join中有我想要访问的项。
我已经尝试了使用查询构建器的不同方法,我已经阅读了文档并遵循其说明,但它不起作用。
下面是我的SQL查询
SELECT * FROM invoice i
JOIN item it
WHERE i.created_at >= '2019-03-26 08:00:00' and
i.created_at <= '2019-03-26 08:05:00' and i.status=2;
这是我在
我正在使用Symfony 2中的Knp分页器包。
在尝试将Doctrine查询传递给分页器时,我一直收到以下错误:
Fatal error: Call to a member function toArray() on a non-object in /var/www/adwind/vendor/knplabs/knp-components/src/Knp/Component/Pager/Event/Subscriber/Paginate/Doctrine/ORM/QuerySubscriber.php on line 67 Call Stack: 0.0000 635448 1. {main
我有一个与User实体有one-to-many关系的Certificate实体(一个用户可能有多个证书)。Certificate有一个startDate和endDate,它们决定了它们的有效期。我需要过滤所有的用户,已经过期的证书和没有活动的证书。
活动证书- c.startDate <= :today AND c.endDate > :today
过期证书- c.endDate <= :today。
现在,我将如何在普通SQL中这样做:
SELECT
u.user_id
FROM `User` u JOIN `Certificate` c ON c.user_id =