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

Erro ao tentar acessar as temporadas.

Apos fazer todos os passos, criação dos relacionamentos, e rodas as migrations, ao tentar usar o dd($series->temporadas) para acessar as temporadas de uma serie, eu continuo recebendo o erro do laravel indicando que a coluna referenciando isso não existe :

SQLSTATE[HY000]: General error: 1 no such column: equipment.marca.id

Aqui está a migration que rodei :

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('equipment', function (Blueprint $table) {
            $table->id();
            $table->string('nome', 64)->unique();
            $table->string('ip', 15);
            $table->unsignedTinyInteger('numero');
            $table->foreignId('marca_id')->constrained();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('equipment');
    }
};

Favor relevar as mudanças de nome de cada coisa, pois estou criando algo um pouco diferente usando a mesma logica.

2 respostas
solução!

Oii, André!

A partir do código da migration que você compartilhou, parece que você criou uma tabela 'equipment' com uma coluna 'marca_id' que é uma chave estrangeira. No entanto, o erro parece indicar que o Laravel está tentando acessar a coluna 'id' na tabela 'marca' através da tabela 'equipment', o que sugere que pode haver um problema na definição do relacionamento em suas models.

Se você estiver definindo um relacionamento entre 'equipment' e 'marca', certifique-se de que o relacionamento esteja corretamente definido em ambas as models.

Por exemplo, na model 'Equipment', você pode ter algo como:

public function marca()
{
    return $this->belongsTo('App\Marca');
}

E na model 'Marca', você pode ter algo como:

public function equipment()
{
    return $this->hasMany('App\Equipment');
}

Além disso, verifique se a tabela 'marca' existe e se ela tem uma coluna 'id'. Se a coluna 'id' na tabela 'marca' tiver um nome diferente, você precisará especificar isso na definição do relacionamento.

Por exemplo, se a coluna 'id' na tabela 'marca' for chamada 'marca_id', você precisará definir o relacionamento na model 'Equipment' da seguinte maneira:

public function marca()
{
    return $this->belongsTo('App\Marca', 'marca_id');
}

Espero ter ajudado e bons estudos :)

Deu certo Vinicius, eu realmente havia criado de forma errada o relacionamento na model . Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software