我的场景是一个流程有很多流程,一个流程可以属于很多流程。
这是我的关系:
//Flow.php
public function process(){
return $this->belongsToMany(Process::class , 'prod_flow_process' , 'prod_flow_id' , 'prod_process_id' )->withPivot('order');
}
//Process.php
public function flows(){
return $this->belongsToMany(Flow::class , 'prod_flow_process' , 'prod_process_id' , 'prod_flow_id' )->withPivot('order');
}
所以我可以做Flow::first()->process
,并使用枢轴order
获得所有过程。反之亦然。
我目前正在使用这种代码为数据库播种。
//Create link between flows and process
$process = Process::all();
Flow::all()->each( function ( $flow ) use ( $process ){
$flow->process()->attach(
$process->random( rand(1,3) )->pluck('id')->toArray()
);
});
但是我不知道如何在播种期间通过保持 attach 方法来添加透视图order
。
听起来这个问题可能是重复的,但是我没有找到像我这样的帖子。