在我的 Laravel 项目中,我有不同的用户类型,它们都有一个基本的用户模型。以下是数据库拓扑的简要概念:
users:
- id
- name
students:
- age
- user_id
teachers:
- budget
- user_id
employee:
- is_admin
- user_id
就我而言,每个Student, Teacher,Employee都有自己的User. 但是如果我想制作一个新的,Student例如,我必须同时制作一个Student和User模型。我知道 Laravel 中的观察者模式可以使这项工作更容易,但我希望能够以编程方式制作Student如下模型:
$student = App\Student::create(['name' => 'Joe', 'email' => 'joe@example.net', 'age' => '20']);
问题从那里变得更加复杂,因为Teacher模型也需要同时具有Employee模型和User模型。有没有办法覆盖create我的模型上的方法,以便我可以传递User创建参数和Student参数?
互换的青春