我遇到了与 Voyager 交朋友 Spatie 媒体库的问题。将 Bread 添加到此表时,有一个名为 Model Name 的字段。如果我用实现 HasMedia 的模型填充它,则面包已成功创建。但是当浏览“媒体”表时 - 这个表是空的。如果我用任何其他值填充字段模型名称,则会出现错误 - 此类不存在。
表确实有字段,我可以用 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 而不填写 Model 字段,那么它会失败
Symfony \ Component \ HttpKernel \ Exception \ AccessDeniedHttpException
This action is unauthorized
浏览表格时出错