Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro na Entidade

Estou com esse erro:

An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1 no such table: ativoemp
Exceptions 3Logs 1Stack Traces 3
Doctrine\DBAL\Exception\
TableNotFoundException
in C:\xampp\htdocs\contb\cotab\vendor\doctrine\dbal\src\Driver\API\SQLite\ExceptionConverter.php (line 52)

        ) { 
        return new NotNullConstraintViolationException($exception, $query);     
        }    
        if (strpos($exception->getMessage(), 
        'no such table:') !== false) {   
        return new TableNotFoundException($exception, $query);      
        }      
        if (strpos($exception->getMessage(),
        'already exists') !== false) {  
        return new TableExistsException($exception, $query);       
        }

github: git@github.com:tiagobrandao03/cotab.git

4 respostas

oi! a tabela existe no contexto atual? porque as vezes a gente fica no automático e acha que ta tudo ok, mas pode rolar de conectar no banco errado (já fiz isso de conectar em banco vazio), primeira coisa que eu faria é confirmar se a tabela realmnte existe. mas pode ser algum erro com migrations também, pode ser que alguma não rodou direito

mas pra entender mlehor o que ta rolando, que operação vc tava fazendo quando deu erro? foi ao carregar uma página específica ou tentando fazer algum cadastro ou consulta? e essa tabela já funcionou antes ou é a primeira vez que tá tentando acessar ela?

Tinha campos ques estam com null e eu corrigi.

PReciso de ajuda com um insert que eu fiz de duas entidades , sendo preenchidas no formulario. O erro é o seguinte:

Attempted to load class "Ativoemp" from namespace "App\Controller". Did you forget a "use" statement for "App\Entity\Ativoemp"? ExceptionLogs 2Stack Trace Symfony\Component\ErrorHandler\ErrorClassNotFoundError

in C:\xampp\htdocs\contb\cotab\src\Controller\PagueController.php (line 58)

// Criar Employee  
$employee = new Employee($name);     
$employee->setCpf($cpf);     
// Criação dos objetos Ativoemp separados para cada campo  
$objDecimo = new Ativoemp();     
$objDecimo->setATDecimoterceiro($decimoterceiro); 
$employee->setDecimoterceiro($objDecimo);    
$objFerias = new Ativoemp();    
$objFerias->setATFerias($ferias);

link do git: git@github.com:tiagobrandao03/cotab.git

solução!

Isso:

Attempted to load class "Ativoemp" from namespace "App\Controller". Did you forget a "use" statement for "App\Entity\Ativoemp"?

significa que o PHP/Symfony tá tentando encontrar a classe Ativoemp no namespace App\Controller, porque você não declarou corretamente o use para a classe App\Entity\Ativoemp.

Adiciona o use correto no topo do seu arquivo PagueController.php, assim:

use App\Entity\Ativoemp;

Teu arquivo PagueController.php deve começar mais ou menos assim:

<?php

namespace App\Controller;

use App\Entity\Employee;
use App\Entity\Ativoemp;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
// outros use necessários...

Quando você instância uma classe como:

$objDecimo = new Ativoemp();

Sem o use, o PHP assume que Ativoemp está no mesmo namespace da classe atual, que é App\Controller. Como isso não é verdade (está em App\Entity), ele lança esse erro.

Bom dia pessoal!

Para complementar a resposta do colega acima, tem um ponto que notei no Controller PagueController.php, que é as variáveis passadas para os Setters após o comentário:

// Criação dos objetos Ativoemp separados para cada campo

Todas as variáveis não foram definidas, então recomendo que faça a declaração correta de todas elas antes de testar o projeto novamente.

No mais, precisando de ajuda, conte com a comunidade do fórum!