1

所以我试图覆盖 laravel-medialibrary 以便在我运行时

$modelA
  ->addMedia($attachment)
  ->withCustomProperties(['model_id' => $modelA->id])
  ->toMediaCollection('attachments_a');

,它将记录添加到另一个指定的数据库中,例如:database1_mysql

但是,它现在正在添加到我当前的数据库(database2)中。

我创建了一个媒体模型,它已经连接到另一个数据库

namespace App\Domains\Test\Models\Media;
class Media extends Model
{    
   protected $connection = 'database1_mysql'; 
}

与媒体相关的模型,我也覆盖了关系以引用连接到另一个表的媒体。

use App\Domains\Test\Models\Media;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;

class ModelA extends Model implements HasMedia
{

 use InteractsWithMedia;

    public function media(): MorphMany
    {
        return $this->morphMany(Media::class, 'model');
    }
}
4

1 回答 1

1

找到了办法。 https://spatie.be/docs/laravel-medialibrary/v8/advanced-usage/using-your-own-model#breadcrumb

只需在配置中交换模型

于 2020-08-26T03:34:20.253 回答