【发布时间】:2023-04-04 11:40:01
【问题描述】:
由于我的代码中的一行引发了异常:
$acadObj = $em->getRepository('ProjectMyBundle:Academie')->find($acadDeleg);
其中$acadDeleg 是我从数据源检索的字符串。
一般来说,官方文档使用find($id),其中$id是一个数字(一个整数)。为此,我问是否可以使用字符串。问题是我有一个表,我必须从中获取一个值,然后与另一个表进行比较,这样我就可以创建一个对象。
为了记录,$acadDeleg 是Academie 实体的主键
编辑:
异常消息:
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...
}
【问题讨论】:
-
异常信息是什么意思?
-
你能告诉我们
Academie的定义吗? -
好的,我已经编辑了帖子。看看吧:D
-
您最近是否更新了架构? (
php app/console doctrine:schema:update --force) 可以把Academie定义的相关部分放上去吗? -
我刚做了。我的问题呢?我可以使用字符串作为函数
find的参数吗?