如何正确创建表结构`workers`或如何在Laravel中正确创建雄辩的关系?

时间:2018-06-29 13:59:15

标签: database laravel database-design eloquent relationship

我有示例workers表结构:

Workers table structure in Laravel project

我有两种类型的工作人员:公司工作人员公司分支机构工作人员。 “类型”字段只能是: 1 2 。 1-是公司员工,2-是分支机构员工。现在如何无法编写正确的关系方法来获取用户公司类型(分支机构或公司)。还是我必须创建2个表(company_workers_table和company_branch_workers_table)才能正确编写雄辩的关系?

1 个答案:

答案 0 :(得分:3)

您正在寻找一种多态关系:

https://laravel.com/docs/5.6/eloquent-relationships#polymorphic-relations

您想用两列而不是仅用类型一来设置您的工作程序,让我们将此关系称为MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(video.getPath()); mediaPlayer.prepare(); mediaPlayer.start(); 。您的workplace表将包含workersworkplace_id列。类型列包含相关模型的类(即workplace_type),而您的id列包含相关模型的ID,因此工作人员可能与公司或公司分支机构相关。

您的模型将如下所示:

App/Company