Tabela Fantasma - Nao existe no banco e é "procurada"

46 views
Skip to first unread message

J Eudes Martins

unread,
Dec 21, 2022, 11:49:57 AM12/21/22
to Laravel Brasil
Boa tarde!
Sou novo por aqui, espero contribuir de forma positiva para o grupo.

Ao tentar salvar um registro recebo a seguinte msg:
Base table or view not found: 1146 Table 'meudb.tipo_servicos'
De fato a tabela "tipo_servicos" nao existe, já existiu.
Apaguei e recriei o bando de dados.
Mudei a migration conforma abaixo e ainda assim continua procurando por essa tabela.
Não consegui localizar onde essa tabela (tipo_servicos) esta sendo referenciada.
REfiz tudo... novo controller...novo model...nova rota e mesmo assim continua procurando pela tabela inexistente.

Abaixo nova migrate
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateTiposervicosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tiposervicos', function (Blueprint $table) {
            $table->id();
            $table->integer('codigo_municipio');
            $table->string('nome_tipo_servico');
            $table->integer('codigo_federal');
            $table->integer('cnae');
            $table->boolean('ativo')->default(1);
            $table->string('proprietario',14)->default('0');
            $table->string('empresa', 14)->default('0');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('tiposervicos');
    }
}

Grato pela ajuda.

BR5 - Informática

unread,
Dec 21, 2022, 12:04:56 PM12/21/22
to Laravel Brasil
Boa tarde.
Em seu projeto, no diretório VIEWS, exite uma pasta " tiposervicos" ou  "tipo_servicos" com seus respectivos arquivos .JSON?

J Eudes Martins

unread,
Dec 21, 2022, 1:37:23 PM12/21/22
to Laravel Brasil
Boa tarde!
Obrigado pela ajuda, acabei de encontrar o erro, nossa, ate vergonha... kkk mas estou no começo então acho que ainda psso cometer alguns errinhos.

Faltou no model "protected $table = 'tiposervicos';

Agradeço

Marcelo Diniz

unread,
Dec 21, 2022, 1:39:33 PM12/21/22
to laravel...@googlegroups.com
Vergonha é roubar... isso ai faz parte do desenvolvimento, pode ter certeza que todos nós cometemos erros básicos.
Boa sorte ai.

--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/laravel-brasil/712531cc-e32e-41ed-84d8-eee4034ee39fn%40googlegroups.com.


--
Marcelo Felipe Santiago Diniz

Neto

unread,
Dec 21, 2022, 2:15:13 PM12/21/22
to laravel...@googlegroups.com
Se usasse as convenções do Laravel, casando o nome da tabela com o nome do model, não precisava especificar os nomes das tabelas. Tente seguir a recomendação do framework quando possivel.

José Neto - Software Engineer




Frank K Hosaka

unread,
Dec 21, 2022, 2:23:03 PM12/21/22
to laravel...@googlegroups.com
Eu não estou vendo as convenções, estou fazendo por tentativa e erro. Cada nova linguagem como HTML, Basic, Fortran, JavaScript, PHP, Visual Basic e agora o Laravel tem milhares de convenções. O certo é começar pelo manual, mas ele está escrito em inglês. Logo, só sobrou o método científico da tentativa e erro. Quem conseguiu instalar o Laravel pelo composer já é um herói!!!

Neto

unread,
Dec 21, 2022, 3:17:18 PM12/21/22
to laravel...@googlegroups.com
Bem, pois você decidiu ir pelo caminho mais difícil (considerar o inglês um impedimento e desprezar a documentação). Vai conseguir, obviamente. Mas vai ter mais problemas do que normalmente teria. É o preço a ser pago.

Só explicando como isso se resolveria com convenções:
Você nomeia o model no singular, como por exemplo User, e o Laravel vai inferir que no banco de dados, a tabela se chama users (o mesmo nome, mas no plural). E vão ter muitas convenções aí só na parte de models, para ele detectar as chaves primárias, os relacionamentos, as chaves estrangeiras, etc. Se você não seguir o que a documentação recomenda, vai ter que ficar a todo momento, passando isso explicitamente.

E aqui eu termino com uma dica para sua carreira profissional: Estude inglês, e tente seguir os padrões e convenções. As melhores vagas de emprego normalmente vão cobrar isso.

Manda ver aí, boa sorte nos estudos e conte conosco.

José Neto - Software Engineer



Frank K Hosaka

unread,
Dec 21, 2022, 5:34:35 PM12/21/22
to laravel...@googlegroups.com
Eu prefiro divulgar o Laravel como um passatempo, para substituir provisoriamente o Netflix e o Facebook. Não existe fórum de debates para o Laravel no Brasil, ele aparece de maneira intercalada no PHP do iMasters e Script Brasil. Para mim, se o rapaz conseguiu receber uma mensagem de erro do Laravel é porque ele conseguiu instalar tudo certo, conseguiu ativar o php artisan serve, conseguiu entrar no Laravel pelo navegador pelo comando localhost:8000. Isso tudo é bem abstrato, e fico feliz que um curioso esteja entrando no mundo da programação. Não para ganhar mais dinheiro lá na frente mas para compartilhar com os amigos que é possível ser feliz além da fronteira do Netflix e o Facebook, principalmente quando a gente consegue fazer o Laravel fazer o que a gente quer, tipo escrever "olá mundo", usando o roteador, o controlador e o visualizador como recomenda o manual e outros tutoriais por ai.

Luiz Augusto

unread,
Dec 21, 2022, 6:17:00 PM12/21/22
to laravel...@googlegroups.com

Caro Frank não se auto sabote.
Se chegou até aqui, e por que conseguiu muito mas que um “helo word”. As comunidades, os fóruns de discussão, são uma  amostra da nossa sociedade. Vai ter o cara legal, que vai responde de maneira sucinta, delicada e objetiva, vai ter o esnobe, que se acha o cara…sei que não pediu concelho, e nem é esse a finalidade desta lista, mas siga em frente, não fique preso a padrões, ou por que a documentação, mas a siga sempre que conseguir entender com clareza. Fiz muito projeto fora do padrão e reverso da documentação, e entregava com se fosse uma aplicação que seguia tais padrões. Depois de um tempo criei maturidade técnica para entender os padrões e as documentações, como tudo na vida, é questão de tempo. Foco e bons estudos.

Em qua., 21 de dez. de 2022 às 18:34, Frank K Hosaka <frank...@gmail.com> escreveu:
Eu prefiro divulgar o Laravel como um passatempo, para substituir provisoriamente o Netflix e o Facebook. Não existe fórum de debates para o Laravel no Brasil, ele aparece de maneira intercalada no PHP do iMasters e Script Brasil. Para mim, se o rapaz conseguiu receber uma mensagem de erro do Laravel é porque ele conseguiu instalar tudo certo, conseguiu ativar o php artisan serve, conseguiu entrar no Laravel pelo navegador pelo comando localhost:8000. Isso tudo é bem abstrato, e fico feliz que um curioso esteja entrando no mundo da programação. Não para ganhar mais dinheiro lá na frente mas para compartilhar com os amigos que é possível ser feliz além da fronteira do Netflix e o Facebook, principalmente quando a gente consegue fazer o Laravel fazer o que a gente quer, tipo escrever "olá mundo", usando o roteador, o controlador e o visualizador como recomenda o manual e outros tutoriais por ai.

--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
--
Guto Oliveira 

Neto

unread,
Dec 22, 2022, 4:46:19 AM12/22/22
to laravel...@googlegroups.com
Caros Frank e Luiz Augusto,

De minha parte, não foi uma atitude esnobe. Se você olhar o histórico das mensagens, vai ver que quando eu cheguei aqui, ele já tinha resolvido o problema, informando o nome da tabela. A conversa estava resolvida, e ele já tinha a solução para o problema dele. Eu fui além, dei mais uma dica, disse que na documentação existe uma orientação de um padrão, expliquei qual é essa orientação, e dei um exemplo. Isso para ele ter mais uma opção, saber mais uma forma de resolver o problema. E ainda disse que o inglês é uma ferramenta importante para o desenvolvedor. E aí ele faz com essas informações, o que ele quiser.

Eu também já fiz muito projeto fora do padrão, mas como todo mundo que começa, por falta de informação. Mas comigo, quando eu descobria que existia uma forma melhor, e/ou indicada para se resolver tal problema, eu não hesitava em mudar de pensamento e passar a fazer da forma certa. Passei anos dessa forma. E o que eu quero hoje, é que as pessoas passem o menor tempo possível nessa fase.

E mais uma coisa, eu não sei quem está do outro lado da tela. Se é uma pessoa que está entrando na área agora, estudando para quem sabe, construir uma carreira, evoluir na empresa, ou se é apenas alguém tentando "substituir provisoriamente o Netflix e o Facebook". Como a maioria cai no caso 1, eu falei para alguém do caso 1.

Esse tipo de detalhe por exemplo, pode muito bem ser uma questão de entrevista de emprego, ou um teste prático, e fazer toda a diferença na hora de conseguir ou não a vaga de emprego.

Aqui é um lugar para trocar conhecimento, certo? Então no fim dessa conversa, todos que leram sabem agora que dá para especificar uma tabela usando o atributo $table, ou usando a convenção. Pra que parar quando se aprende uma forma, se dá para dar um passo a mais e aprender que existem outras formas também, e aí a pessoa escolhe como resolver os problemas que aparecem, da melhor forma conforme o caso?

Agora que ele sabe que existe mais de uma forma, ele tem a decisão de por onde faz mais sentido para ele.

José Neto - Software Engineer



Luiz Augusto

unread,
Dec 22, 2022, 6:02:28 AM12/22/22
to laravel...@googlegroups.com
Neto, eu não citei você diretamente, se compreendeu desta forma, desculpe, não foi intencional.Mas muito obrigado pelo seus feedbacks.

Guto Oliveira 



Neto

unread,
Dec 22, 2022, 8:15:43 AM12/22/22
to laravel...@googlegroups.com
Luiz, pensei que fosse comigo, porque fui um dos que comentou no problema. Mas, se não foi comigo, fica aqui o meu pedido de perdão por interpretá-lo de forma errada.
Como disse na minha mensagem anterior, o foco é contribuir com o máximo de informações possíveis.

Obrigado pela comunidade, e vamos com tudo!


José Neto - Software Engineer



Reply all
Reply to author
Forward
0 new messages