laravel - 在多态表的类型列中回填什么?
问题描述
我正在改变我的File
-model 从one to many
成为一个one to many polymorphic
关系。以前只有我的User
-model 可以有一个文件,但现在我的模型Guest
也可以有一个文件。
因此,在我在文件表中有一个名为的列之前,我已经user_id
按照此处的模式重命名了该列:https ://laravel.com/docs/7.x/eloquent-relationships#many-to-many-polymorphic-relations
所以它现在被命名为fileable_id
.
除了重命名之外,我还添加了一个名为fileable_type
. 我现在想回填该列,以便User
-model 上的所有现有点。我应该在那个专栏里写什么?
我尝试过App\User
但User
没有成功。
解决方案
App\User
如果这是您的用户模型命名空间的方式,那么应该是正确的。多态关系使用getMorphClass()
Eloquent 模型上的方法。您可以通过以下方式验证这一点:
$u = new User();
dd($u->getMorphClass());
如果您尚未为 User 模型创建自定义多态类型getMorphClass()
,则应等效于User::class
.
推荐阅读
- python - 如何打印我想要的结果?
- php - 获取子菜单项和回显
- python - 仅将列表的有效字符串表示解析为列表
- python - FileDoesNotExistException:文件“basic.cfg”不存在。加载 VizDoom 时出现错误
- generics - Kotlin 接口函数可互换参数
- c# - 将过期时间添加到 Redis 缓存
- azure - 在 Azure 应用服务中托管时,限制使用 URL 访问我的根目录中的图像
- java - Firestore collectionReference 返回所有文档
- reactjs - 卸载时如何使用反应挂钩来整理功能组件(使用整理中的状态值)
- dataframe - 如何计算 groupBy 子句中的计数,其中还包括空/空字段