使用多个数据库的Laravel媒体库



我对laravel媒体库和我们的laravel应用程序中配置的两个不同数据库有问题。

我们有两种型号:

App\Models\User.php使用名为"mysql"的连接

<?php
namespace  AppModels;
use SpatieMediaLibraryHasMedia;
use SpatieMediaLibraryInteractsWithMedia;
use IlluminateDatabaseEloquentModel;
class User extends Model  implements HasMedia
{
use InteractsWithMedia;
protected $connection = 'mysql'
}

App\Models\Classe.php使用名为"custom_tabase"的连接

<?php
namespace  AppModels;
use SpatieMediaLibraryHasMedia;
use SpatieMediaLibraryInteractsWithMedia;
use IlluminateDatabaseEloquentModel;
class Classe extends Model  implements HasMedia
{
use InteractsWithMedia;
protected $connection = 'custom_database'
}

然后我尝试在ClasseController:中上传一个文件

$classe = Classe::find($request->id);
return $classe->addMedia($request->file('file'))->toMediaCollection('academy', 'academy')->getUrl();

Laravel媒体库总是将图像保存在"mysql"数据库中:/

我们试图创建一个自定义的媒体类,但它不起作用。

你有解决方案吗?

谢谢!

只需添加$classe->setConnection("自定义数据库"(;

如果在获取或添加媒体之前需要进一步自定义数据库连接,请使用您可以执行$model->setConnection("andlord"(

Spatie媒体库

最新更新