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

时间:2016-11-02 09:26:32

标签: laravel laravel-5.3

我有4个模特

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

游览 - 包含字段[' id',' user_id',' name',' start_time',' end_time&# 39]

公交车 - 包含字段[' id',' excursion_id',' staff_id',' staff_qnty',' staff_price&# 39]

员工 - 包含字段[' id',' name']

这些是关系

User hasMany Excursion
Excursion belongsTo User

Excursion hasMany Bus
Bus belongsTo Excursion

Bus hasMany Staff
Staff hasMany Bus

我有一个bus_staff的数据透视表 这是用户的表单:

enter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分:1)

您可以尝试:

$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);
}