Мой сценарий - это поток, имеющий много процессов, процесс может принадлежать многим потокам.
А это мои отношения:
//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()
);
});
Но я не знаю, как добавить ось order
во время посева, сохраняя метод attach .
Звучит так, будто этот вопрос может быть дубликатом, но я не нашел ни одного поста, подобного моему.