Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5.4:使用雄辩且可填充的字段用多个表更新多个模型_Laravel_Eloquent_Laravel 5.4 - Fatal编程技术网

Laravel 5.4:使用雄辩且可填充的字段用多个表更新多个模型

Laravel 5.4:使用雄辩且可填充的字段用多个表更新多个模型,laravel,eloquent,laravel-5.4,Laravel,Eloquent,Laravel 5.4,我有两种型号Driver和DriverCar 我需要按模型显示字段值,让我向您显示我的表单标题代码 请注意,Driver与DriverCar通过Driver\u id {!! Form::model($driver, [ 'route'=>['drivers.update', $driver], 'method'=>'PATCH', 'class'=>'form-horizontal'

我有两种型号
Driver
DriverCar

我需要按模型显示字段值,让我向您显示我的表单标题代码 请注意,
Driver
DriverCar
通过
Driver\u id

{!! Form::model($driver, [
            'route'=>['drivers.update', $driver],
            'method'=>'PATCH',
            'class'=>'form-horizontal'
            ]) !!}
现在在我的表单字段中

<div class="form-group">
     {!! Form::label('name', trans('interface.DriverName'), ['class'=>'col-sm-2 control-label']) !!}
     <div class="col-sm-10">
          {!! Form::text('name', null, ['class'=>'form-control', 'placeholder'=>trans('interface.DriverName')]) !!}
     </div>
</div>
有没有什么方法可以让它
可填充
而不给它这样的关系
$driver->driverCar->car\u model

这是我的控制器,我试图同时更新这两个表

public function update( Request $request, Driver $driver, DriverCar $driverCar ) {
        //dd( $driverCar );
        $input = $request->all();
        $driver->fill( $input )->save();

        $driverCar->fill( $input )->save();

        return redirect()->route( 'drivers.edit', $driver );
    }
在控制器中,我也不能更新这两个表,它只更新
驱动程序
,但不触摸
驱动程序卡


请提供任何指导。

您没有将
driverCar
ID传递给
update
控制器方法,因此请将代码更改为类似以下内容:

public function update( Request $request, Driver $driver)
{
    $input = $request->all();
    $driver->fill($input)->save();
    $driver->driverCar()->first()->fill($input)->save();
    return redirect()->route('drivers.edit', $driver);
}

驾驶员和驾驶员之间的一对一关系?是的,它是一对一关系是的,谢谢这解决了控制器问题,它以任何方式使表单字段中的
可填充
发生了吗?不使用像这样的值
$driver->driverCar->car\u model
谢谢
public function update( Request $request, Driver $driver)
{
    $input = $request->all();
    $driver->fill($input)->save();
    $driver->driverCar()->first()->fill($input)->save();
    return redirect()->route('drivers.edit', $driver);
}