我对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媒体库