关于Laravel多态关联自定义字段的使用疑问
问题
我有个消息表messages,其中sender_type字段判断类型,1表示老师,2表示学生,sender_id是对应的id
文档中的解决方案,但是和我的需求不匹配
如下是文档中案例,但是我的字段并不是对应的模型名称,而是1、2,我不想写到服务提供者中,请问我能不能拿到Message模型中单独定义
// 文档中的案例 Relation::enforceMorphMap([ 'post' => 'App\Models\Post', 'video' => 'App\Models\Video', ]) // 如下是我yy的代码 Message extend Model { public $morps = [ 1 => App\Models\User, 2 => App\Models\Teacher, ]; }
```
必须得写到Provider中,他那个是个全局注册, 必须得同样的方法调用,不太清除public $morps = [...]这个写法是怎么来的
orm关联模型设计规范依赖于表的三范式设计规范,你这种表设计本来就是反范式来的,反范式又没有具体标准,对应到实现上也是五花八门,纠结这个没啥意义。
参考:Laravel 多态关联的模型本地化套用 | Laravel China 社区