我创建了3个模型,我需要在表中链接3个模型的链接:
user:
name
password
...
task:
...
task_status_id
task_status:
name
...
task_user:
task_id
user_id
但是在我的实现中,我需要所有用户的任务状态,例如:
task_user:
task_id
user_id
task_status_id
因为其中一个列表用户可以完成任务,但另一个用户
如果有人可以告诉我最佳解决方案,谢谢!
答案 0 :(得分:0)
您可以在数据透视表中添加其他列。因此,您只需在迁移文件中添加其他列即可。
然后在模型关系中,您需要添加一个附加的函数调用。
return $this->belongsToMany('App\Task')->withPivot('task_status_id');
然后您可以进行设置。
$user->tasks()->attach($task->id, ['task_status_id' => $task_status->id]);
Laravel文档中有更多信息