4
respostas

Base table or view not found: 1146 com Laravel

Eu segui as aulas, mas ao incluir a autenticação, ele dá o seguinte erro na parte da criação de novo usuário. Como devo fazer, uma vez que não quero criar uma table users sendo que já tenho uma chamada usuarios? Como mudar esse apontamento?

Illuminate \ Database \ QueryException (42S02) SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tvl.users' doesn't exist (SQL: select count(*) as aggregate from users where email = teste@teste.com)

4 respostas

Oi Thiago, tudo bom?

Uma possibilidade é você alterar nome da tabela gerada pela classe sobrescrevendo um atributo table na sua classe que herda de Model, por exemplo:

class User extends Model
{

    protected $table = 'qualquerCoisa';
    // resto da classe
}

Assim, você evita esse tipo de conflito.

Abraço

Pois é, mas minha Model ja tem essa informação e continua

Qual versão do laravel você está utilizando? Essa solução deveria funcionar pra versão 5.0, referente ao curso. Nas versões mais novas, se eu não me engano, essa funcionalidade foi migrada pra sobrescrita de um método.

Além disso, é interessante lembrar que ao settar esses atributos, é necessario realizar uma migration para atualizar a base de dados.

Estou usando a 5.6.15