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

ERRO Integrity constraint violation

Illuminate\Database\QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: users.email (SQL: INSERT INTO users (name) VALUES (rtefadsfasdf))

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class HomeController extends Controller
{
    public function index()
    {
        $title = 'Primeiro Projeto Laravel';

        return view('home.banner')->with('title', $title);
    }

    public function store(Request $request)
    {
        $nameUser = $request->input('name');
        if(DB::insert('INSERT INTO users (name) VALUES (?)',[$nameUser])){
            return 'OK';
        }else{
            return 'ERROR INSERT NOT WORK';
        }
    }
}

eu nao mudei a tabela como vc fez, eu só usei ja o que vinha a tabela de usuários

4 respostas
solução!

Olá Felipe,

O erro diz "Integrity constraint violation: 19 NOT NULL constraint failed: users.email", ou seja, existe uma coluna 'email' na tabela 'users' e essa coluna é NOT NULL e você não está passando nenhum valor para ela no insert.

É exatamente o que o Marcelo falou, Felipe.

E nesse treinamento nós estamos adicionando séries, não usuários.

Tá, entendo que vc fez uma tabela chamada series, mas como eu quero montar um sistema com cadastro de clientes, eu preciso usar a de users.

Então tipo eu sou obrigado a preencher o email, mesmo só querendo o usuário?

Felipe, você que criou a tabela de usuários definindo o e-mail como obrigatório. Se você não quer precisar informar o e-mail, por que criar o campo e-mail como obrigatório?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software