Quando vai para o seasons/index.blade.php não lista temporadas e episódios da série
meu github https://github.com/hnhostins/controle-series
notei que no seu exemplo na url tem mais informações
Quando vai para o seasons/index.blade.php não lista temporadas e episódios da série
meu github https://github.com/hnhostins/controle-series
notei que no seu exemplo na url tem mais informações
Como está seu banco de dados? Há algum erro no console?
não está add as temporadas e episódios, só tem 1 insert
Como está o código de inserção?
copiei o seu seriesController para o meu projeto e deu o erro abaixo.
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");
}
}
deu esse erro
Suas migrations e/ou relacionamentos nas models parecem estar incorretos.
verifiquei as migrations e relacionamentos nas models e inclusive copiei, estão corretos. mesmo erro, sei q é só no episodes, pois quando o comento pra inserir dá certo.
e utilizei os comandos abaixo: php artisan cache:clear php artisan config:clear php artisan view:clear
meu github https://github.com/hnhostins/controle-series
boa tarde Vinícius, refiz tudo novamente, e realmente estou sem entender pq o erro persiste, trabalho na TI dos correios que fez o pacote com vcs, estou gostando muito, mas esse erro me tira até o sono... rs
olha só vou mandar figuras pra entender, coloquei um dd para ver se os valores estavam indo corretamente e vi q sim...
como o erro fala q falta a coluna season_id na tabela episodes, verifiquei tudo o q vc fez na recriação das migrations, e está, ao menos pra mim, tudo correto. Aqui a minha migration episodes
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('episodes', function (Blueprint $table) {
$table->id();
$table->unsignedTinyInteger('number');
$table->foreignId('season_id')->constrained();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('episodes');
}
};
E uma dúvida que estou tendo, onde é feito o relacionamento do model x migration?
Herlon, no link que eu te enviei mostra que você definiu a tabela para ter uma coluna chamada series_id
ao invés de season_id
. Como você já rodou a migration, só alterar o código não resolve. Você precisa fazer uma das duas coisas a seguir:
down
dessa migration, corrigi-la e fazer o up
de novoEntendi e finalmente consegui para minha alegria e seu alívio kkkkkkkkkkkk
Mas poderia me tirar a dúvida que estou tendo, onde é feito o relacionamento do model x migration? Onde é feito esse relacionamento do um model com a respectiva migration, pois em projetos q trabalho eu faço uma chamada --> $conexao = Oracle::conexao('usuario'); por exemplo e lá já tem tudo no framework para fazer a conexão e chamar a respectiva tabela, isso tudo já vem pronto pra mim, mas aqui no lavaravel onde é feita essa conexão?
Não existe relacionamento entre model e migration. A migration cria uma tabela. Você pode criar tabelas em suas migrations que não possuem models. Mas a model representa alguma tabela, sempre. Aí qual tabela a model vai representar pode ser só pelo nome da classe ou pelo atributo $table
como vimos no curso. :-)