andres penagos
andres penagos
Laravel
Comparte:

Como Recolectar datos de un select dinamico

Hola estoy haciendo una aplicacion donde tengo un formulario de contacto el cual tiene un select dinamico que es alimentado por la base de datos donde se muestra varios cursos, este select debe permitir escoger mas de un curso y enviarlo al correo y ademas guardar esa request en la base de dato en una tabla solamente dedicada al formulario de contacto para asi poder visualizarlo en datatable y que el usuario sepa cuantos alumnos estan interesados ademas del correo que le llego como notificacion. cabe aclarar que ya se puedo enviar correo y que al momento de enviar el campo select solo me envia un solo value sin nombre. agradezco de antemano la ayuda
Jorge García
Jorge García (2780 xp)
Hola Andrés, muéstranos un poco de código para entender mejor lo que quieres lograr.
andres penagos
andres penagos (486 xp)
<section class="contact-form-area">        
         <div class="container">
            <div class="row clearfix">
                <div class="col-xl-5 col-lg-12 col-md-12">
                    <div class="contact-information-box">
                        <div class="title responsive">
                            <span>Contacta con nosotros</span>
                            <h1>¿Tienes alguna pregunta? no dude en contactar con nosotros.</h1>
                        </div>
                        <ul class="contact-us">
                            <li>
                                <p>Llámanos para imiditar el apoyo</p>
                                <a href="tel:(+57)3014927272">(+57)3014927272</a>
                            </li>
                            <li>
                                <p>Envíenos un correo electrónico para consultas</p>
                                <a href="mailto:centronautico@fundamar.edu.co">centronautico@fundamar.edu.co</a>
                            </li>      
                        </ul>
                        <ul class="social-links-style1 fix">
                            <li><a href="https://es-la.facebook.com/fundamarsm/" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i></a></li>
                            <li><a href="#" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a></li>
                            <li><a href="https://es-la.facebook.com/fundamarsm/" target="_blank"><i class="fa fa-skype" aria-hidden="true"></i></a></li>
                            <li><a href="https://www.youtube.com/channel/UC0MCB3wz2Zf7Wj1khd7FmBQ" target="_blank"><i class="fa fa-linkedin" aria-hidden="true"></i></a></li>
                        </ul>
                    </div>    
                </div>
                <div class="col-xl-7 col-lg-12 col-md-12 bg-light mx-auto">                                           
                    <div class="container py-4 "> 
                    @include('partialsindexlanding.session-status')                                          
                          <form class="bg-white shadow rounded py-3 px-4" 
                                       method="POST"  
                                       action="{{ route('enviarf') }}" 
                                       name="contact" 
                                       id="contact">
                            @csrf                                                                                                             
                                    <h4 class="text-center">CONTACTO</h4>                            
                                    <h1 class="display-5 text-center">Escríbenos un<br> Mensaje</h1><hr>
                                <div class="form-group">
                                    <label for="name" style="color:#007CC2">Nombre</label>
                                    <input class="form-control bg-light shadow-sm rounded @error('name') is-invalid @else border-0 @enderror  " 
                                        id="name"
                                        name="name" 
                                        type="text"  
                                        placeholder="Nombres *" 
                                        value="{{ old('name') }}" >
            @error('name')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror                                        
                                </div>     
                                <div class="form-group">
                                    <label for="lastname" style="color:#007CC2">Apellidos</label>
                                    <input class="form-control bg-light shadow-sm  rounded @error('lastname') is-invalid @else border-0 @enderror" 
                                        id="lastname" 
                                        name="lastname" 
                                        placeholder="Apellidos *" 
                                        type="text" 
                                        value="{{ old('lastname') }}">
            @error('lastname')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror       
                                </div>   
                                <div class="form-group"> 
                                    <label for="email" style="color:#007CC2">Correo Electronico</label>                                    
            <input class="form-control bg-light shadow-sm rounded @error('email') is-invalid @else border-0 @enderror" 
                                        id="email"
                                        name="email" 
                                        type="email" 
                                        placeholder="Correo Electronico *" 
                                        value="{{ old('email') }}">
             @error('email')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror       
                                </div>      
                                <div class="form-group">
                                    <label for="phone" style="color:#007CC2">Telefono</label>
                                    <input class="form-control bg-light shadow-sm rounded @error('phone') is-invalid @else border-0 @enderror" 
                                        id="phone" 
                                        name="phone" 
                                        type="text" 
                                        placeholder="Telefono *" 
                                        value="{{ old('phone') }}">
             @error('phone')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror       
                                </div>
                                <div class="form-group">
                                    <label for="cursos" style="color:#007CC2">Curso</label>
                                    <select class="selectpicker form-control bg-light shadow-sm rounded @error('cursos') is-invalid @else border-0 @enderror" 
                                        multiple data-selected-text-format="count" 
                                        multiple title="Escoja Los cursos" 
                                        name="cursos" 
                                        id="cursos"
                                        style=" width:100px;" 
                                        size="2">                                                               
                                        @forelse($data as $dat)   
                                            <option value="{!!$dat->categoria!!} {!! $dat->curso !!} {!! $dat->titulo1!!}"> Curso: {{$dat->categoria}} {{$dat->curso}}</option>
                                             @error('cursos')
                                                <span class="invalid-feedback" role="alert">
                                                    <strong>{{ $message }}</strong>
                                                </span>
                                            @enderror       
                                        @empty
                                            <p>No hay Cursos Disponible</p>
                                        @endforelse    
                                    </select>                                   
                                </div> 
                                <div class="form-group">
                                <label for="coments" style="color:#007CC2">Comentarios</label>                                  
       <textarea class="form-control bg-light shadow-sm rounded" 
                                        id="coments" 
                                        name="coments" 
                                        placeholder="Comentarios">{{ old('coments') }}</textarea>                                                               
                                </div> 
                                    <span class="small text-center" style="color:#007CC2">*Campos obligatorios</span>                                                          
                                    <button class="btn btn-primary btn-lg btn-block" type="submit">Enviar</button>                                                                           
                            </form>                           
                        </div>                    
                    </div>
               </div>
           </div>
    </section>
hola jorge buenos dias, este fragmento de codigo es la vista que contiene un select que esta alimentado por la base de datos donde muestra los diferentes cursos que ofrece mi empresa.

<?php

este es el controlador donde recibe el request de ese formulario. lo que quiero hacer yo es que el cliente escoja los diferentes cursos en los que este interesado y me llegue a mi correo, actualmente si escojo 3 o 4 cursos solo me llega uno al correo. esta informacion quiero guardarla en la base de datos para mostrarla en un datatable donde yo pueda ver cuales son los alumnos que estan interesados en tales cursos
namespace App\Http\Controllers;

use App\Mail\MensajeRecibido;
use Illuminate\Support\Facades\Mail;
use App\Models\Dato_curso;
use Illuminate\Support\Collection;


class ContactController extends Controller
{
   public function sendcontact(){
       $msg = request()->validate([
            'name' => 'required',
            'lastname' => 'required',
            'email' => 'required|email',
            'phone' => 'required',
            'coments' => 'required|min:5',
            'cursos'  => 'required'          
         ], ['phone.required' => 'Ingrese el tefefono.',
            'name.required' => 'Ingrese el nombre.',
            'lastname.required' => 'Ingrese el apellido.',
            'email.required' => 'Ingrese el correo electronico.',
            'email.email' => 'Ingresa un correo valido.'                        
            ]);
         Mail::to('ledonlifeco@gmail.com')->send(new MensajeRecibido($msg));         
         return back()->with('status', ' Su solicitud se Envio correctamente, en breve le responderemos');
              }
}