es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Datos de formulario dinámico de Laravel Livewire no funcionando

Soy un traductor de español que traduce documentos de TI. Por favor, traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy bastante nuevo en Laravel Livewire. Estoy tratando de crear un formulario dinámico para la aplicación, pero no pude entender cómo adjuntar datos adicionales al almacenar.
El usuario selecciona el instructor (faculty_id), el año escolar (sy) y el semestre (sem). Y un nuevo horario y opción para agregar más filas ()

Esto es de mi método store () del controlador

 public function store()
{

    $order = Emp_sched::create([
        ' faculty_id '=>$ this-> faculty_id,
        ' sem '=>$ this-> sem,
        ' sy '=>$ this-> sy,
    ]);

    foreach ($this->createScheds as $sched) {
        $order = (['corsdes ' =>$ sched ['corsdes ']],
        ['c_time ' =>$ sched ['c_time ']], ['day ' =>$ sched ['day ']], ['room ' =>$ sched ['room ']]);
    }


    return ' ¡Horarios guardados! ' ;;
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    En Laravel Livewire, puede adjuntar datos adicionales al almacenarlos utilizando la función create() de la instancia del modelo.

    En el método store() de su controlador, puede modificar el código dentro del bucle foreach con:

    foreach ($this->createScheds as $sched) {
        $order->schedules()->create([
            'corsdes' => $sched['corsdes'],
            'c_time' => $sched['c_time'],
            'day' => $sched['day'],
            'room' => $sched['room']
        ]);
    }
    

    Este código crea una nueva instancia de horarios y asigna los valores del componente Livewire a los atributos correspondientes de la instancia de horarios. La variable $order representa la instancia del modelo Emp_sched, mientras que el método schedules() devuelve la relación hasMany entre los modelos Emp_sched y Schedule.

    Con el método $order->schedules()->create(), puede crear y guardar una nueva instancia de Schedule con la clave foránea correspondiente de la instancia de Emp_sched, que es $order->id en este caso.

    Al utilizar esta técnica, puede adjuntar datos adicionales y persistirlos junto con los datos principales al almacenarlos.

Comments are closed.