当搜索,我想出了具有类似问题的人很多成果,但他们总是涉及到关联的错误。 我想一个简单的文本字段和数据库添加到一个表,并且对于我的生活,我想不出有什么关于这一次不同的 - 当我没有任何问题,很多次这样做。
我添加了一个“record_checksum”字段到4级不同的实体,但我将只使用一个,在这里简化的例子。 (所有4发生相同错误)。
这里是我的实体\ Cloud.php文件的例子,在底部加入了“record_checksum”字段:
use Doctrine\ORM\Mapping as ORM;
namespace Entity;
/**
* Entity\Cloud
*
* @orm:Table(name="cloud")
* @orm:Entity
* @orm:HasLifecycleCallbacks
*/
class Cloud
{
/**
* @var integer $id
*
* @orm:Column(name="id", type="integer", length="13")
* @orm:Id
* @orm:GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var float $position_x
*
* @orm:Column(name="position_x", type="float", length=9)
*/
private $position_x;
/**
* @var float $position_y
*
* @orm:Column(name="position_y", type="float", length=9)
*/
private $position_y;
/**
* @var string $commit_group
*
* @orm:Column(name="commit_group", type="string", length=32, nullable=true)
*/
private $commit_group;
/**
* @var string $commit_key
*
* @orm:Column(name="commit_key", type="string", length=13, nullable=true)
*/
private $commit_key;
/**
* @var string $record_checksum
*
* @orm:Column(name="record_checksum", type="string", length=32, nullable=true)
*/
private $record_checksum;
该类的其余部分是getter / setter方法,所以我会离开它。 要看到整个实体文件,我把它挂在引擎收录( http://pastebin.com/9LheZ6A1 )。 该“commit_key”我只是增加了几个星期前,没有任何问题。
现在我更新模式:
$ doctrine orm:schema-tool:update --dump-sql
ALTER TABLE cloud ADD record_checksum VARCHAR(32) DEFAULT NULL;
$ doctrine orm:schema-tool:update --force
Updating database schema...
Database schema updated successfully!
我证实了这一领域目前在数据库表中。
然而,当我运行一个简单的查询DQL这样的:
$dql = "SELECT c.id AS id, c.commit_key AS key, c.record_checksum AS checksum ".
"FROM Entity\\Cloud c WHERE c.commit_group = :commit_group";
我得到的错误:
[Semantical Error] line 0, col 42 near 'record_checksum': Error: Class Entity\Cloud has no field or association named record_checksum,
我现在已经撞了我的头挂在墙上了这一段时间。 我敢肯定,我俯瞰东西真的傻了。 任何帮助是极大的赞赏! -缺口