Adquiere este curso para tener acceso a todas las lecciones
Comprar curso7. Creación de la bbdd - Parte 2
1 comentarios
Inicia sesión para comentar
Comentarios:
-
Jonathan Kevin Sandoval Nuñez hace 1 año
Hola Víctor, una consulta si tengo una tabla intermedia con campos adicionales a las FK que definí en mi migración, por ejem. stock, precio de que forma podría agregarse los campos adicionales a los Modelos para que puedan ingresarse datos en ellos? si tienen una relacion de muchos a muchos, me surgio esa duda.
-
Victor Arana Flores hace 1 año
Hola Jonathan si quieres pasarle más parametros tiene que pasarlo como segundo parametro en el metodo attach
->attach($id, [ 'dato1' => $dato1, 'dato2' => $dato2 ])
Luego para que esos datos tambien retornen en la tabla pivot tienes que hacer algo asi
public function companies() { return $this->belongsToMany(Company::class)->withTimestamps()->withPivot('dato1', 'dato2'); }
-
Jonathan Kevin Sandoval Nuñez hace 1 año
Gracias victor , entonces a los dos Modelos que tienen el Metodo con la relacion muchos a muchos, les agrego ->withTimestamps()->withPivot('dato1', 'dato2'); para que pueda reflejarse en la pivot entre ambas tablas o bastaria indicarlo en un solo metodo.
-
Victor Arana Flores hace 1 año
Hola Jonathan, disculpa la demora en la respuesta.
Acuerdate que el método withPivot le agregas a la relacion. Así por ejemplo al generar una relacion entre el modelo user y roles le agregas el metodo withPivot podrás acceder a los datos de la tabla pivot cuando accedas a la relacion user→roles
Ahora si tambien quieres recuperar la información extra de la tabla pivor al acceder a la relación inversa role users, tambien tendrás que agregar el método withPivot al crear la relacion role user.
Las relaciones no son mas que crear sentencias sql bajo el capote de Eloquent. En donde tu especificas como quieres recuperar dicha información.
-