由于我的代码中的一行而引发异常:

$acadObj = $em->getRepository('ProjectMyBundle:Academie')->find($acadDeleg);

其中$acadDeleg是我从数据源检索的字符串。

通常,官方文档使用find($id) ,其中$id是一个数字(整数)。 为此,我问是否可以使用字符串。 关键是我有一张表,必须从中获得一个与另一个表进行比较的值,以便可以创建一个对象。

根据记录, $acadDelegAcademie实体的主键

编辑:

异常消息:

The Exception message :

An exception occurred while executing 'SELECT t1.codeLieu AS codeLieu2, t1.nomLieu AS nomLieu3, t1.latLieu AS latLieu4, t1.lngLieu AS lngLieu5 FROM Academie t1 WHERE t0.codeLieu = ?' with params {"1":"A"}:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.codeLieu' in 'where clause'

学院的定义:

<?php

namespace PFA\SIGBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Academie
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="PFA\SIGBundle\Entity\AcademieRepository")
 */
class Academie extends Lieu
{

}

Lieu的定义:

<?php

namespace PFA\SIGBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Lieu
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="PFA\SIGBundle\Entity\LieuRepository")
 */
abstract class Lieu
{

/**
 * @var string
 *
 * @ORM\Column(name="codeLieu", type="string", length=20)
 * @ORM\Id
 */
private $codeLieu;

/**
 * @var string
 *
 * @ORM\Column(name="nomLieu", type="string",nullable=true)
 */
private $nomLieu;

/**
 * @var float
 *
 * @ORM\Column(name="latLieu", type="float", nullable=true)
 */
private $latLieu;

/**
 * @var float
 *
 * @ORM\Column(name="lngLieu", type="float", nullable=true)
 */
private $lngLieu;
// getters and setters here...
}

===============>>#1 票数:1 已采纳

您的抽象类Lieu必须是MappedSuperclass

您需要将Lieu定义更改为:

/**
 * Lieu
 *
 * @ORM\MappedSuperclass
 */
abstract class Lieu
{
  //[...]
}

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html

  ask by occulti translate from so

未解决问题?本站智能推荐:

1回复

Symfony2:与DBAL等效于flush()/ perist()

我想知道是否有与DBAL等效的$ em-> persist($ entity)或$ em-> flush()? 我的意思是,DBAL如何与实体合作? 我正在使用非学说处理的实体:使用SELECT ...使用DBAL检索到水合实体的数据,如果我必须更新数据库中的内容,是否必须使
1回复

Symfony2学说DBAL包装器问题

我正在尝试为DBAL连接创建自定义包装,并正确设置了config.yml文件, 但是我收到以下错误: 但是我的班级正在扩展\\Doctrine\\DBAL\\Connection : 有任何想法吗?
1回复

在Order By上获取Sql Server错误-Symfony2

从SQL Server以及从我读过的书中了解到,使用Symfony似乎与数据库的连接不稳定。 一旦使用orderBy方法,我就会收到一个错误: 这是一个例子: 和错误: 我试图通过在网上发现的更正来更改类SQLServerPlatform,但没有成功。 你有什么
1回复

SQL Server Symfony2的循环连接

我一直在尝试为Symfony 2.3中的其他MSSQL Server创建一个循环,但是如果某些服务器关闭或MSSQL服务已关闭,则该应用程序不会例外,并且会中断功能。 这是主控制器: 此函数创建连接: 我总是得到相同的结果,对于所有在线服务器,连接都是成功的,但是如果某些服
1回复

symfony 4:驱动程序发生异常:找不到驱动程序

使用以下配置(doctrine.yaml)在Symfony 4中使用Doctrine DBAL: 和.env: 我们无法通过DBAL连接到数据库: 驱动程序中发生异常:找不到驱动程序异常。 我没有在S4的此版本中找到有关该错误的文档。
1回复

在Symfony中使用Doctrine的DBAL检索布尔值

我在Symfony项目中使用DBAL来访问Mysql数据库中的数据。 当使用布尔字段查询表(创建为tinyint)时,我在PHP中得到tinyint值,但我想得到布尔值。 不知何故,我想直接使用与Doctrine相同的映射。 我认为映射转换(从mysql到php)已经在DBAL中实
2回复

将参数设置为int数组,用于dbal查询生成器中的where语句将数组抛出到字符串转换异常

我尝试在WHERE IN语句中的dbal querybuilder中绑定参数:[1,2] 我试图将$qb->expr()->in()改为字符串版本,但没有改变 QueryBuilder创建 $qb = $this->_em->getConnection()-
1回复

从AWS / RDS Maria DB 10.0迁移Symfony 3.3.12失败:DBALException

我尝试迁移使用Symfony 3.3.12制作的API,该API使用具有基于MariaDb MariaDB 10.0.24的Amazon RDS的数据库安装在AWS上 在我的日志中获取: 好吧,我看不到,或者我不了解有关的信息。 但是我正在调查,并且看到Syfony 3.3
12回复

Symfony 2 SQLSTATE [HY000] [2002]连接被拒绝错误

我得到一个错误,如使用Symfony2的数据库操作。 parameters.yml 和控制台: 我该如何解决错误?
1回复

Symfony 2 Console命令用于创建自定义数据库

我正在开发一个Symfony 2项目,每个用户都有自己的数据库。 在我的config.yml文件中,我有一个学说:dbal:orm为客户端设置但没有连接属性,因为它们在运行时设置并由所有用户引用。 即我只有一个默认的dbal连接和两个orm-connection,用户数量是无限的。 这