Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro na atualização dos episódios assistidos

Na hora de fazer o push dos episódios dá esse erro : SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: temporadas.number (SQL: insert into "temporadas" ("updated_at", "created_at") values (2020-05-17 01:34:57, 2020-05-17 01:34:57))

   public function assistir(Temporada $temporada, Request $request)
    {
        $episodiosAssistidos = $request->episodios;

        $temporada->episodios->each(function (Episodio $episodio) use ($episodiosAssistidos) {
            $episodio->watch = in_array($episodio->id, $episodiosAssistidos);
        });

        $temporada->push();
    }
}

Essa é a migration

class AdicionaCampoAssistido extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('episodios', function (Blueprint $table) {
            $table->boolean('watch')->default(false);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('episodios', function (Blueprint $table) {
            $table->dropColumn('watch');
        });
    }
}

Essa é a model

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Episodio extends Model
{
    protected $fillable = ['number', 'watch'];

    public function temporada()
    {
        return $this->belongsTo(Temporada::class);
    }
}
1 resposta
solução!

Achei o problema estava na rota que estava com {temporada_id} sendo o correto {temporada} para o find seja realizado , por isso que esvata dizendo que ia inserir um valor vazio no banco de dados sendo que ja existe um valor nele.