更新模型中的数组

时间:2019-12-02 22:06:36

标签: laravel

我的函数更新了 Prestamo 模型,但没有更新 Presocio 模型 任何想法如何执行对Presocio模型的更新。 使用laravel。

public function update(PrestamoRequest $request, $id)
{
    $prestamo           = Prestamo::findOrFail($id);
    $prestamo->socio_id = $request->socio_id;
    $prestamo->monto    = $request->monto;
    $prestamo->cuotas   = $request->cuotas;
    $prestamo->alias    = $request->alias;
    $prestamo->estado   = $request->estado;
    $prestamo->update();
    $idprestamo = $prestamo->id;

    if (count($request->ncuota) > 0) {
        foreach ($request->ncuota as $item => $v) {
            $presocio = Presocio::findOrFail($id);
            $presocio->fill([
                'prestamo_id' => $idprestamo,
                'ncuota'      => $request->ncuota[$item],
                'montopag'    => $request->montopag[$item],
                'fechapag'    => $request->fechapag[$item],
                'estadopag'   => $request->estadopag[$item]
            ])->update();
        }
        toast('Pago Programados Editado', 'success');
        return redirect('prestamo');
    }
}

建议。

1 个答案:

答案 0 :(得分:0)

我建议您阅读the docs

$presocio->fill([
    'prestamo_id' => $idprestamo,
    'ncuota'      => $request->ncuota[$item],
    'montopag'    => $request->montopag[$item],
    'fechapag'    => $request->fechapag[$item],
    'estadopag'   => $request->estadopag[$item]
])->update();

应该是

$presocio->update([
    'prestamo_id' => $idprestamo,
    'ncuota'      => $request->ncuota[$item],
    'montopag'    => $request->montopag[$item],
    'fechapag'    => $request->fechapag[$item],
    'estadopag'   => $request->estadopag[$item]
]);

$presocio->fill([
    'prestamo_id' => $idprestamo,
    'ncuota'      => $request->ncuota[$item],
    'montopag'    => $request->montopag[$item],
    'fechapag'    => $request->fechapag[$item],
    'estadopag'   => $request->estadopag[$item]
])->save();

也不要忘记在模型上设置可填充属性。