【发布时间】:2019-06-06 14:34:12
【问题描述】:
除了其他之外,用户表还具有以下字段:用户名、名字、姓氏。每个用户都可以决定是显示用户名还是显示全名(名字+姓氏)。此选项存储在“设置”表中。
为了在需要显示名称的任何时候不执行重复查询和调用函数,我根据用户的选择将名称添加到用户对象中,例如$user->display_name = ...。
问题在于,当用户更新配置文件时,Laravel 会尝试将此名称保存在 display_name 字段中的用户表中,该表不存在并返回 500 错误。当用户尝试注销时也会发生这种情况。
是否可以避免 Laravel 尝试将该值存储在数据库中?
正如其他讨论中所建议的,我已经尝试为 User 模型中的属性提供默认值,我尝试将属性设置为受保护,但没有任何效果。
【问题讨论】: