Não estou conseguindo cadastrar a "nova série".
![]( )
![]( )
Não estou conseguindo cadastrar a "nova série".
![]( )
![]( )
Olá Pedro,
Aparentemente é um erro na model e/ou migration, pois o erro indica que não encontrou uma coluna chamada number. Consegue mandar o código delas?
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Episode extends Model
{
use HasFactory;
public $timestamps = false;
protected $fillable = ['number'];
public function season()
{
return $this->belongsTo(Season::class);
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Season extends Model
{
use HasFactory;
protected $fillable = ['number'];
public function series()
{
return $this->belongsTo(Series::class);
}
public function episodes()
{
return $this->hasMany(Episode::class);
}
}
<?php
namespace App\Http\Controllers;
use App\Http\Requests\SeriesFormRequest;
use App\Models\Episode;
use App\Models\Season;
use App\Models\Series;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SeriesController extends Controller
{
public function index(Request $request)
{
$series = Series::all();
$mensagemSucesso = session('mensagem.sucesso');
return view('series.index')->with('series', $series)
->with('mensagemSucesso', $mensagemSucesso);
}
public function create()
{
return view('series.create');
}
public function store(SeriesFormRequest $request)
{
$serie = Series::create($request->all());
$seasons = [];
for ($i = 1; $i <= $request->seasonsQty; $i++) {
$seasons[] = [
'series_id' => $serie->id,
'number' => $i,
];
}
Season::insert($seasons);
$episodes = [];
foreach ($serie->seasons as $season) {
for ($j = 1; $j <= $request->episodesPerSeason; $j++) {
$episodes[] = [
'season_id' => $season->id,
'number' => $j
];
}
}
Episode::insert($episodes);
return to_route('series.index')
->with('mensagem.sucesso', "Série '{$serie->nome}' adicionada com sucesso");
}
public function destroy(Series $series)
{
$series->delete();
return to_route('series.index')
->with('mensagem.sucesso', "Série '{$series->nome}' removida com sucesso");
}
public function edit(Series $series)
{
return view('series.edit')->with('serie', $series);
}
public function update(Series $series, SeriesFormRequest $request)
{
$series->fill($request->all());
$series->save();
return to_route('series.index')
->with('mensagem.sucesso', "Série '{$series->nome}' atualizada com sucesso");
}
}
<?php
namespace App\Http\Controllers;
use App\Models\Series;
class SeasonsController extends Controller
{
public function index(Series $series)
{
$seasons = $series->seasons()->with('episodes')->get();
return view('seasons.index')->with('seasons', $seasons)->with('series', $series);
}
}
Estava com erro nos arquivos no migration. Como consigo alterar todos os comandos rápido no VS code? Que o Vinicius consegue no phpstorm.
Olá Pedro,
Que bom que encontrou a solução!
Se tu fala dos atalhos siga os passos a seguir:
Clique 2x no comando desejado e uma caixa de diálogo será exibida para inserir a nova combinação de teclas. Feito isso, pressione Enter para persistir a alteração.
Lembre-se de marcar esse tópico como solucionado.
Aproveite bem o curso e não hesite em procurar ajuda.
Abraços!