我有问题与Voyager交朋友Spatie medialibrary。 将Bread添加到此表时,会有一个名为Model Name的字段。如果我用实现HasMedia的模型填充它,面包已成功创建。但是当浏览'media'表时 - 这个表是空的。如果我用任何anothor值填充字段模型名称,则会出现错误 - 此类不存在。
表中有字段,我可以通过php-my-admin
查看更新 我已按文档https://docs.spatie.be/laravel-medialibrary/v7/basic-usage/preparing-your-model
中所述添加到我的模型代码中namespace App;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\HasMedia\Interfaces\HasMedia;
class Game extends Model implements HasMedia
{
use HasMediaTrait;
...
}
调整我的模型控制器,所以我可以添加图像
public function store(Request $request)
{
$newGame = new Game;
$newGame->name = $request->game_name;
$newGame->addMediaFromRequest('game_shortcut')->toMediaCollection('shortcut'); // изображение
$newGame->save();
...
}
现在我已经在我的文件系统中上传了图像文件,并且在与“游戏”对象相关的spatie“media”表中输入了图像。 http://joxi.ru/Vrwn5pbCKyWJgA
问题是我无法在Voyager中查看“媒体”表,因为我无法正确创建BREAD
更新:如果在不填写模型字段的情况下创建BREAD,则会失败并显示
Symfony \ Component \ HttpKernel \ Exception \ AccessDeniedHttpException
This action is unauthorized
浏览表时出现错误