【问题标题】:Symfony Column not found: 1054 Unknown column 't44.id' in 'on clause'Symfony Column not found: 1054 Unknown column 't44.id' in 'on Clause'
【发布时间】:2020-10-13 07:05:48
【问题描述】:

我最近有机会参加一个课程,使用来自用户的这个课程, 由于加密密码,我已经进行了更改:

$employe = new Employe();

        $form = $this->createForm(EmployeType::class, $employe);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid())
        {
            $employe->setUsername($form->get("email")->getData());
            $employe->getUtilisateur()->setPassword(
              $passwordEncoder->encodePassword(
                  $employe,
                  $form->get('utilisateur')['password']->getData()
              )

这使我产生了一个需要修复的编译错误,它在我的实体中我现在从用户扩展雇员

class Employe extends User

但知道我有以下错误:

执行 'SELECT t0.username AS username_1, t0.username_canonical AS username_canonical_2, t0.email AS 时发生异常 email_3, t0.email_canonical AS email_canonical_4, t0.enabled AS enabled_5, t0.salt AS salt_6, t0.password AS password_7, t0.last_login AS last_login_8, t0.confirmation_token AS Confirmation_token_9, t0.password_requested_at AS password_requested_at_10, t0.roles AS 角色_11,t0.id AS id_12,t0.nom AS nom_13,t0.prenom AS prenom_14, t0.telephone AS 电话_15, t0.fax AS 传真_16, t0.is_active AS is_active_17, t0.date_first_login AS date_first_login_18, t0.role AS role_19, t0.portable_pro ASportable_pro_20, t21.username AS username_22, t21.username_canonical AS username_canonical_23, t21.email AS email_24, t21.email_canonical AS email_canonical_25, t21.enabled AS enabled_26, t21.salt AS salt_27, t21.password AS password_28, t21.last_login AS last_login_29, t21.confirmation_token AS Confirmation_token_30, t21.password_requested_at AS password_requested_at_31, t21.roles AS roles_32, t21.id AS id_33, t21.nom AS nom_34, t21.prenom AS prenom_35, t21.telephone AS 电话_36, t21.fax AS 传真_37, t21.is_active AS is_active_38, t21.date_first_login AS date_first_login_39, t21.role AS role_40, t21.portable_pro ASportable_pro_41, t21.utilisateur_id AS utilisateur_id_42, t21.agence_id AS agence_id_43, t0.utilisateur_id AS utilisateur_id_45, t0.agence_id AS agent_id_46 FROM 员工 t0 左加入员工 t21 ON t21.utilisateur_id = t44.id':

SQLSTATE[42S22]:未找到列:1054 'on' 中的未知列 't44.id' 子句'

关于如何修复它的任何想法?

【问题讨论】:

标签: php sql symfony doctrine-orm doctrine


【解决方案1】:

您对实体的更改导致表结构发生变化。您的应用程序中的 Doctrine 现在可以使用更新的元数据,并认为数据库具有一种结构,但您的数据库并未自动更新,而是具有另一种结构。

要同步您需要的数据库结构:

  1. 为您的数据库运行脚本生成迁移 (diff):

    php bin/console doctrine:migrations:diff
    
  2. 运行此迁移:

    php bin/console doctrine:migrations:migrate
    

【讨论】:

  • 我试过这样做没有任何改变,所以没有什么可以迁移:/
  • 你运行doctrine:migrations:diff了吗?它的输出是什么?您是否仍然遇到您帖子中描述的相同问题?
猜你喜欢
  • 1970-01-01
  • 2018-09-10
  • 2021-12-31
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
相关资源
最近更新 更多