Depois das mudanças do banco de dados para o MySQL estou recebendo um erro quando executo vincular-aluno-curso.php:
PHP Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't7.id' in 'on clause' in C:\Users\debor\PhpstormProjects\doctrine\vendor\doctrine\dbal\src\Driver\PDO\Statement.php:101
{...}
Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't7.id' in 'on clause' in C:\Users\debor\PhpstormProjects\doctrine\vendor\doctrine\dbal\src\Driver\PDO\Exception.php:30
Stack trace:
{...}
Next Doctrine\DBAL\Exception\InvalidFieldNameException: An exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't7.id' in 'on clause' in
{...}
O erro começou depois das alterações no EntityManagerFactory para o banco MySQL: class EntityManagerFactory
{
/**
* @return EntityManagerInterface
* @throws \Doctrine\ORM\ORMException
*/
public function getEntityManager(): EntityManagerInterface
{
$rootDir = __DIR__ . '/../..';
$config = Setup::createAttributeMetadataConfiguration(
[$rootDir . '/src'],
true
);
$connection = [
'driver' => 'pdo_mysql',
'host' => 'localhost:3306',
'dbname' => 'doctrine',
'user' => 'root',
'password' => '******' // A SENHA ESTÁ CORRETA
];
return EntityManager::create($connection, $config);
}
}
Tenho o mesmo erro quando tento executar buscar-alunos, atualizar-nome-aluno e remover-alunos.
E quando executo relatorio-de-cursos-por-aluno-dql, recebo a query que foi executada, mas nem um resultado, e quando eu altero meu alunoRepository de:
public function buscaCursosPorAluno()
{
$query = $this->createQueryBuilder('a')
->join('a.telefone', 't')
->join('a.cursos', 'c')
->addSelect('t')
->addSelect('c')
->getQuery();
return $query->getResult();
}
Para:
class AlunoRepository extends EntityRepository
{
public function buscaCursosPorAluno()
{
$query = $this->createQueryBuilder('a')
->getQuery();
return $query->getResult();
}
}
Recebo várias querys executadas, porém recebo os resultados da consulta.