首页 > 解决方案 > 如何使用 laravel-medialibrary 将媒体添加到另一个数据库

问题描述

所以我试图覆盖 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');
    }
}

标签: laravellaravel-medialibrary

解决方案



推荐阅读