TransWikia.com

Join en una relacion laravel

Stack Overflow en español Asked by Anonimo21 on November 15, 2021

Hola buenas tardes saludos soy nuevo en laravel y estoy tratando de hacer algo como lo siguiente, hacer un join de los productos que traigo en una categoría con una tabla de compras, pero me sale error, no se si como lo estoy haciendo sea posible. De antemano gracias…

 class Categoria extends Model 
    {
        protected $table = "categorias";
        protected $primaryKey = "idCategoria";
    
        public function productos()
        {
            return $this->hasMany(Producto::class, "id_categoria", "idCategoria");

    }
    }

class Producto extends Model 
{
    protected $table = "productos";
    protected $primaryKey = "idProducto";

    public function categoria()
    {
        return $this->belongsTo(Categoria::class);
    }
}

class Compra extends Model 
{
    protected $table = "compras";
    protected $primaryKey = "idCompra";
    protected $fillable = [
        'idCompra', 'idProducto'
    ];
}
    
    $categorias = Categoria::with('productos')
    ->join('compras', 'compras.idProducto', '=', 'productos.idProducto')
    ->get();

One Answer

Es raro que estés mezclando:

  • query builder
  • Relaciones de Eloquent

Entonces decantate por uno de los 2 métodos pero no ambos

Entonces si lo que tratas de obtener son todos los productos de una categoría alcanza con hacerlo así:

$consulta = Categoria::with('productos')->get();

Answered by BetaM on November 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP