首页 > 解决方案 > 有没有办法使用自定义变形类名​​来使用不同的数据库表?

问题描述

问题很复杂,让你理解,我正在尽我所能。

我的应用程序使用两个数据库,确实有两个应用程序,但在应用程序之间共享一些模型。

现在我使用 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() 但它们不使用任何参数来更改模型类名。

标签: laravel

解决方案


推荐阅读