Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

319
Vistas
Laravel: ¿Cómo obtengo datos de esta tabla dinámica?

SOLUCIONADO : respuesta publicada a continuación

¿Cómo puedo obtener valores de esta tabla dinámica y de especificaciones?

Quiero mostrar esto en una plantilla como:

-Modelo (nombre de la tabla de especificaciones)

--Marca (tabla dinámica de formulario de atributos): ejemplo 1 (valor de la tabla dinámica)

--Modelo (tabla dinámica de formulario de atributos): ejemplo 123 (valor de la tabla dinámica) ...


En ProductController intenté devolver algo como esto $product = Product::with('specifications')->first(); , pero solo puedo obtener datos de la tabla de especificaciones y si pruebo $product = Product::with('product_specification')->first(); Recibo el error Call to undefined relationship [product_specification] on model [App\Product].


Tabla dinámica:

 public function up() { Schema::create('product_specification', function (Blueprint $table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->integer('product_id')->unsigned()->index(); $table->foreign('product_id')->references('id')->on('products')->onDelete('cascade'); $table->integer('specification_id')->unsigned()->index(); $table->foreign('specification_id')->references('id')->on('specifications')->onDelete('cascade'); $table->string('attribute'); $table->string('value'); }); }

Tabla de especificaciones:

 public function up() { Schema::create('specifications', function (Blueprint $table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->string('name')->unique(); $table->timestamps(); }); }

Modelo del Producto:

 public function specifications() { return $this->belongsToMany(Specification::class, 'product_specification'); }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tuve que agregar withPivot() a mi modelo de Producto

 public function specifications() { return $this->belongsToMany(Specification::class, 'product_specification')->withPivot('attribute', 'value'); }

Y luego en la plantilla:

 foreach($product->specifications as $specification) { echo 'name: ' . $specification->name . ' attribute: ' . $specification->pivot->attribute . ' value ' . $specification->pivot->value . '</br>'; }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda