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

Erro Add [_token] to fillable property to allow mass assignment on [App\Serie].

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;

class Serie extends Model
{
    public $timestamps = false;
    protected $fillable = ['nome'];    
}

Bom dia,

Quando tento salvar uma nova série aparece o erro: Add [_token] to fillable property to allow mass assignment on [App\Serie]. Incluí na classe Serie o protected $fillable, mas estou fazendo algo errado. Poderiam me ajudar?

7 respostas

Bom dia Marcelo,

Além do atributo nome está vindo um atributo _token no request (provavelmente do csrf), mas foi permitido apenas a passagem de nome pelo fillable. Você pode resolver isso de várias maneiras, uma é extrair apenas o nome do request com:

// No seu código de salvamento
$dados = $request->only(['nome']);

Olha se isso ajuda, se ainda tiver problemas compartilha o seu código do salvamento, e qualquer dúvida é só falar!

Bom dia Lucas,

Fiz o ajuste no código, conforme abaixo, mas o erro permanece.

public function store(Request $request)
    {        
        $nome = $request->only(['nome']);      
        $serie = Serie::create($request->all());
        echo "Série com ID {$serie->id} criada: {$serie->nome}";
    }

Opa Marcelo, você isolou o nome mas no Serie::create passou o request completo.

Nesse caso você pode fazer assim:

// Passando um array apenas com o nome
$serie = Serie::create($request->only(['nome']));
echo "Série com ID {$serie->id} criada: {$serie->nome}";

Você pode ler o only como "apenas", então com $request->only(['nome']) estamos selecionando apenas o nome, com $request->only(['nome', 'idade']) estamos selecionando apenas nome e idade do request.

Bom dia Lucas,

Não funcionou. O erro é o mesmo: "Add [nome] to fillable property to allow mass assignment on [App\Serie]."

solução!

Estranho o erro continuar, com a linha protected $fillable = ['nome']; em Serie não era para esse erro acontecer.

Se possível compartilha o seu código completo por favor que eu posso fazer mais testes aqui, de preferência pelo Github mas pode ser um zip no Google Drive ou algo do tipo.

Lucas,

Obrigado pelo apoio! Eu havia criado por engano dois arquivos Serie.php (um corretamente na raíz da pasta APP e o outro estava na pasta \app\Http\Controllers). Excluí o segundo arquivo e funcionou.

Ah, bom saber que deu certo Marcelo!