Commit a6430ea1 authored by Alfonso Rafael Solis Rangel's avatar Alfonso Rafael Solis Rangel
Browse files

Almacenamiento de las listas

parent 879a5487
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -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.');
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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');
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -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