gpt4 book ai didi

Laravel 改变多态关系的存储值

转载 作者:行者123 更新时间:2023-12-02 06:55:16 25 4
gpt4 key购买 nike

我试图让其他应用程序更容易读取多态关系的存储值。目前,多态模型类型存储为模型的 FQCN。使用 Laravel Docs 中的示例, imageable_type 可以是“App\Product”或“App\Staff”。但是,如果任何非 Laravel 应用程序不基于此约定并且也在访问同一数据库,则此值可能会更难管理。此外,如果模型 FQCN 被重构,您必须修改其他应用程序以应对更改。

有没有办法将类型更改为更一致和可读的东西,然后有一个将键映射到模型的映射类? (例如,将“产品”映射到“App\Product”)

最佳答案

是的。这是 recently 的更改实现。


将此添加到您的服务提供商(在 boot 方法中):

Illuminate\Database\Eloquent\Relations\Relation::morphMap([
'product' => App\Product::class
]);

如果您只是传递一个模型名称数组,it'll default to using the table names :

Illuminate\Database\Eloquent\Relations\Relation::morphMap([
App\Product::class,
App\Staff::class,
]);

关于Laravel 改变多态关系的存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com