Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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?