TransWikia.com

como insertar en tabla intermedia que resulta de un muchos a muchos de 3 tablas en laravel

Stack Overflow en español Asked by Ander on November 17, 2021

Soy nuevo en laravel, y tengo un problema necesito insertar datos en una tabla intermedia que resulta de la relacion muchos a muchos entre 3 tablas
mis modelos son Entrada, Equipo, Servicio ya tengo datos insertados en las 3 tablas

modelo Equipo:

    public function entradas()
    {
        return $this->belongsToMany(Entrada::class);
    }

    public function servicios()
    {
        return $this->belongsToMany(Servicio::class);
    }



modelo entrada:

`
  public function servicios()
    {
        return $this->belongsToMany(Servicio::class);
    }

    public function equipos()
    {
        return $this->belongsToMany(Equipo::class);
    }`



modelo servicio:

 public function entradas()
    {
        return $this->belongsToMany(Entrada::class);
    }

    public function equipos()
    {
        return $this->belongsToMany(Equipo::class);
    }

en mi controlador:


        $servicio = new Servicio($request->all());
        $servicio->save();

        $entrada = new Entrada($request->all()) ;
        $entrada->save();
        
        $equipo = new Equipo($request->all());
        $equipo->save();

         $entrada->equipos()->servicios()->attach($servicio->id);

aclaro la tabla intermedia se llama entrada_equipo_servicio

el registro en cada tabla me funciona correctamente pero tengo problemas al insertar estos datos en la tabla intermedia no se si lo estoy haciendo correctamente y la gran mayoría de ejemplos que encuentro solo muestran como insertar datos en una tabla intermedia entre dos modelos de muchos a muchos

el error que me arroja es el siguiente :
Call to undefined method IlluminateDatabaseEloquentRelationsBelongsToMany::servicios()

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