Loading app/Http/Controllers/ListaController.php +16 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,22 @@ public function create() */ public function store(Request $request) { // $request->validate([ 'nombre' => 'required|string|max:255', ]); $lista = Lista::create($request->only('nombre')); $grupoIds = array_filter($request->input('grupo_id', []), fn($value) => $value !== 'null'); $subgrupoIds = array_filter($request->input('subgrupo_id', []), fn($value) => $value !== 'null'); $contactoIds = array_filter($request->input('contacto_id', []), fn($value) => $value !== 'null'); // Sincronizar relaciones $lista->grupos()->sync($grupoIds); $lista->subgrupos()->sync($subgrupoIds); $lista->contactos()->sync($contactoIds); return redirect()->route('listas.get')->with('success', 'Lista creada correctamente.'); } /** Loading app/Models/Contacto.php +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ public function correos(): HasMany public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_contactos', 'contacto_id', 'lista_id'); } public function subgrupos(): BelongsToMany Loading app/Models/Grupos.php +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public function users(): HasMany { public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_grupos', 'grupo_id', 'lista_id'); } public function contactos(): BelongsToMany Loading app/Models/Lista.php +3 −3 Original line number Diff line number Diff line Loading @@ -15,16 +15,16 @@ class Lista extends Model public function contactos(): BelongsToMany { return $this->belongsToMany(Contacto::class); return $this->belongsToMany(Contacto::class, 'listas_contactos', 'lista_id', 'contacto_id'); } public function grupos(): BelongsToMany { return $this->belongsToMany(Grupos::class); return $this->belongsToMany(Grupos::class, 'listas_grupos', 'lista_id', 'grupo_id'); } public function subgrupos(): BelongsToMany { return $this->belongsToMany(Subgrupo::class); return $this->belongsToMany(Subgrupo::class, 'listas_subgrupos', 'lista_id', 'subgrupo_id'); } } app/Models/Subgrupo.php +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ public function subgrupo(): BelongsTo public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_subgrupos', 'subgrupo_id', 'lista_id'); } public function contactos(): BelongsToMany Loading Loading
app/Http/Controllers/ListaController.php +16 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,22 @@ public function create() */ public function store(Request $request) { // $request->validate([ 'nombre' => 'required|string|max:255', ]); $lista = Lista::create($request->only('nombre')); $grupoIds = array_filter($request->input('grupo_id', []), fn($value) => $value !== 'null'); $subgrupoIds = array_filter($request->input('subgrupo_id', []), fn($value) => $value !== 'null'); $contactoIds = array_filter($request->input('contacto_id', []), fn($value) => $value !== 'null'); // Sincronizar relaciones $lista->grupos()->sync($grupoIds); $lista->subgrupos()->sync($subgrupoIds); $lista->contactos()->sync($contactoIds); return redirect()->route('listas.get')->with('success', 'Lista creada correctamente.'); } /** Loading
app/Models/Contacto.php +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ public function correos(): HasMany public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_contactos', 'contacto_id', 'lista_id'); } public function subgrupos(): BelongsToMany Loading
app/Models/Grupos.php +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ public function users(): HasMany { public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_grupos', 'grupo_id', 'lista_id'); } public function contactos(): BelongsToMany Loading
app/Models/Lista.php +3 −3 Original line number Diff line number Diff line Loading @@ -15,16 +15,16 @@ class Lista extends Model public function contactos(): BelongsToMany { return $this->belongsToMany(Contacto::class); return $this->belongsToMany(Contacto::class, 'listas_contactos', 'lista_id', 'contacto_id'); } public function grupos(): BelongsToMany { return $this->belongsToMany(Grupos::class); return $this->belongsToMany(Grupos::class, 'listas_grupos', 'lista_id', 'grupo_id'); } public function subgrupos(): BelongsToMany { return $this->belongsToMany(Subgrupo::class); return $this->belongsToMany(Subgrupo::class, 'listas_subgrupos', 'lista_id', 'subgrupo_id'); } }
app/Models/Subgrupo.php +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ public function subgrupo(): BelongsTo public function listas(): BelongsToMany { return $this->belongsToMany(Lista::class); return $this->belongsToMany(Lista::class, 'listas_subgrupos', 'subgrupo_id', 'lista_id'); } public function contactos(): BelongsToMany Loading