laravel - 有没有办法使用自定义变形类名来使用不同的数据库表?
问题描述
问题很复杂,让你理解,我正在尽我所能。
我的应用程序使用两个数据库,确实有两个应用程序,但在应用程序之间共享一些模型。
现在我使用 Spatie 媒体库进行媒体管理。
可以说,在应用程序 1中:
有一个产品模型,它有媒体。所以在DB1的媒体表中,model_type定义为'App\Models\Entities\Product'
现在在Application2,产品型号有不同的命名空间( ),我使用不同的连接,从APP 2App\Models\Foriegn\Product
查询产品数据没有问题。
在查询媒体时,我注意到在使用媒体的变形关系时,它会像这样查询数据库:where model_type = "App\Models\Foreign\Product" and model_id = 2
但我需要将此查询设为model_type = "App\Models\Entities\Product"
.
我已经检查了自定义 MorphMany() 和 MorphTo() 但它们不使用任何参数来更改模型类名。
解决方案
推荐阅读
- r - 有条件地跳过R中for循环的迭代
- linq - 如何在 Entity Framework Core 中的视图模型上使用 Linq 输出关系对象
- python - 创建变量以处理不同的 Excel 字段标题
- virtual-reality - Mixed Reality Portal API -- 以编程方式居中 Windows Mixed Reality VR 耳机
- c - 如何在 C 中的 main 函数之外使用 setlocale 函数?
- node.js - 可以从 MongoDB 加载数据以使用 EJS 自动生成网页吗?
- java - 在 MVS 上使用没有 COBOL 的 comp-3 读取 EBCDIC 变量文件?
- c# - 从抽象类 c# 调用方法
- python - 安装我的 conda 包后在标准输出上显示自定义消息的最简单方法
- django - 从函数调用(Django FormView)中引发 Http404 的替代方法?