我在 MySQL 中设置枚举列类型时遇到问题。列值将是命名空间的类名,例如Accounts\Private
.
列入白名单的值应该是Accounts\Private
和Accounts\Merchant
。
枚举似乎正在\
从白名单值中删除。使用双黑斜线\\
也不起作用。
奇怪的是,添加三个黑斜杠\\\
会导致显示两个反斜杠。
我错过了什么?我正在使用 Laravel 并建立多态关系,这需要对类名进行命名空间。
我在使用 MySQL 枚举时遇到了同样的问题。
Laravel 5.3 添加了一个 morphMap 功能,允许您设置自定义字符串(不带斜线)以代替命名空间类。在 5.3 之前,有一个可以在模型上设置的 morphClass 属性。
https://laravel.com/docs/5.3/eloquent-relationships#polymorphic-relations