Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 - Fatal编程技术网

在Laravel 5.4中的透视表中填充一个附加字段

在Laravel 5.4中的透视表中填充一个附加字段,laravel,eloquent,Laravel,Eloquent,我有两种型号:Event和Ticket。我已经实现了它们之间的多对多关系: /** * Get the tickets for the events. */ public function tickets() { return $this->belongsToMany('App\Ticket'); } 以及: 我还创建了名为:event\u ticket的透视表,并添加了3个字段:event\u id(外键)、ticket\u id(外键)和ticket\u quantit

我有两种型号:
Event
Ticket
。我已经实现了它们之间的
多对多
关系:

/**
 * Get the tickets for the events.
 */
public function tickets()
{
    return $this->belongsToMany('App\Ticket');
} 
以及:

我还创建了名为:
event\u ticket
的透视表,并添加了3个字段:
event\u id(外键)
ticket\u id(外键)
ticket\u quantity
。创建新事件时,我将其保存,然后我希望将数据
同步到透视表中,如下所示:

$event->tickets()->sync($request->tickets_type);
如何填写额外的
票证数量
字段?我这样做:

$event->tickets()->sync($request->tickets_type, array(
    'ticket_quantity' => 12
));

但它似乎不起作用。解决方法是什么?

根据网站
https://laravel.com/docs/5.5/eloquent-relationships#many-对于许多人来说,在节
中,在数据透视表上保存其他数据
,您需要使用
save()
方法将附加数据传递到透视表

$event->tickets()->save($request->tickets_type, array(
    'ticket_quantity' => 12
));

将关系附着到模型时,还可以传递要插入中间表的附加数据数组:

$event->tickets()->save($request->tickets_type, array(
    'ticket_quantity' => 12
));
$event->tickets()->attach($ticketId, ['ticket_quantity' => $qty]);