Laravel 5.3 - 此表单的控制器存储方法

Laravel 5.3 - Controller store method for this form

我有 4 个模型

用户 - 具有默认字段的基本 Laravel 用户

游览 - 包含字段 ['id'、'user_id'、'name'、'start_time'、'end_time']

公交车 - 包含字段 ['id'、'excursion_id'、'staff_id'、'staff_qnty'、'staff_price']

员工 - 字段为 ['id'、'name']

这些是关系

User hasMany Excursion
Excursion belongsTo User

Excursion hasMany Bus
Bus belongsTo Excursion

Bus hasMany Staff
Staff hasMany Bus

我有一个 bus_staff 的支点 table 这是用户的表单:

当用户提交表单时,这是 dd($request);

MyController@store 方法应该是什么样子... 有没有办法用 associate() 或其他东西保存这些数据?请帮忙。

您可以试试:

$excursion_input = ['name' => $request->get('name'), 'start_time' => $request->get('start'), 'end_time' => $request->get('end')];

$excursion = auth()->user()->excursion()->create($excursion_input);

for ($i=0; $i < count($request->get('stuff_id')); $i++)
{
    $input = [
        'staff_id' => $request->get('stuff_id')[$i],
        'staff_qnty' => $request->get('qnty')[$i],
        'staff_price' => $request->get('price')[$i],
    ];
    $bus = $excursion->bus()->create($input);
}