0

我目前正在使用 laravel 5 开发一个事件管理项目,而我现在正处于障碍之中。所以现在我正处于为活动创建门票的阶段。

事件模型和票模型之间的关系是一对多的。一个活动可以有多张门票,一张门票只能属于一个活动。

下面是人们没有点击添加票按钮时的视图: 在此处输入图片描述

以下是人们单击添加票证按钮时: 在此处输入图像描述

对于字段,我将其命名为数组。以下是代码:

<input name="ticket[][name]" type="text" class="form-control" placeholder="Ticket Name">
<input name="ticket[][stock]" type="text" class="form-control" placeholder="Quantity">
<input type="text" name="ticket[][price]" class="form-control">

所以,问题是,我如何捕捉控制器中输入的数据?又如何把它存入口才?

当我尝试使用 dd($request->input('ticket')) 时,它显示的是数组列表,而不是集合。

我在想这样的事情:

foreach($request->ticket as $index => $ticket) {
        $event->tickets()->save(new Ticket($ticket));
    }

有可能这样做吗?非常感谢

4

1 回答 1

0

在大多数情况下,您在这里拥有正确的理想。理想情况下,我需要您提供更多信息,但我会尽力将您推向正确的方向。您肯定会希望遍历一系列票并单独保存每张票。

这是一个失败的例子:

$tickets = Input::get('ticket');

foreach($tickets as $ticket){

   $newTicket = new Ticket; // create the new ticket
   $newTicket->name = $ticket['name']; // add name 
   $newTicket->stock = $ticket['stock']; // add qty
   $newTicket->price = $ticket['price']; // add price
   $newTicket->event_id = [you need an event id here];
   $newTicket->save(); // save the new ticket 

}

您可以在上面看到,您还需要传递与票关联的事件 id,以便可以将事件和票之间的关系链接在一起。

于 2016-01-04T21:48:44.993 回答