1
私のプロジェクトでsymfony 2.4とpostgresqlを使用しています。私のロケールすべてが正常に動作しますが、サーバー上で、それはエラーにsymfony2で新しい列が認識されないキャッチコピーの例外 'Doctrine ORM Query QueryException
"PHP message: PHP Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'SELECT p.id, p.username, p.email, p.isEmailConfirmed FROM CityDomGameBundle:Player p WHERE p.email = (:email) AND p.username != (:username)' in /var/...
エラーを与える私は私のテーブルに新しい列isEmailConfirmed
を追加
$duplicatedEmails = $em->createQueryBuilder()
->select('p.id, p.username, p.email, p.isEmailConfirmed')
->from('CityDomGameBundle:Player', 'p')
->where('p.email = (:email)')
->andWhere('p.username != (:username)')
->setParameter(':email', $email)
->setParameter(':username', $username)
->getQuery()
->getResult();
ここで起こるので、symfonyはそれを認識しないようにそれはそうで。 select
の文からp.isEmailConfirmed
を削除すると動作します。
は、ここでは、エンティティコード
/**
* @var boolean $isEmailConfirmed
*
* @ORM\Column(name="isemailconfirmed", type="boolean")
*/
private $isEmailConfirmed;
及び方法
/**
* @return boolean
*/
public function getIsEmailConfirmed()
{
return $this->isEmailConfirmed;
}
/**
* @param $isEmailConfirmed
* @return $this
*/
public function setIsEmailConfirmed($isEmailConfirmed)
{
$this->isEmailConfirmed = $isEmailConfirmed;
return $this;
}
私はcache:clear
にしようとしたが、それは助けにはならないのです。何か案が?スキーマ:PHPアプリ/コンソール教義を実行した後
UPDATE
それ--force更新がエラー
[Doctrine\DBAL\Exception\NotNullConstraintViolationException]
An exception occurred while executing 'ALTER TABLE player ADD
isemailconfirmed BOOLEAN NOT NULL':
SQLSTATE[23502]: Not null violation: 7 ERROR: column
"isemailconfirmed" contains null values
[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[23502]: Not null violation: 7 ERROR: column
"isemailconfirmed" contains null values
を示したが、私は列を追加したときに、この列のデフォルト値はfalse
で、ここでのクエリです
alter table player add column isEmailConfirmed boolean default false;
をご使用のサーバー上schameを更新したことがありますか? bin/console doctrine:schema:update --force? –
はあなたのデータベースの 'isemailconfirmed'ですか? –
@Alessandro Minoccheri今すぐ試してみます –